我需要创建一个查询来检索每天的平均访问次数,按年份和月份分组。 我对mongoDB还是个新手,我真的不知道该怎么做。在
这是我的数据库模型(代码用python编写):
class Visits(Document):
year = IntField(default=datetime.datetime.now().year)
month = IntField(default=datetime.datetime.now().month)
day = IntField(default=datetime.datetime.now().day, unique_with=('month', 'year'))
visits = ListField(EmbeddedDocumentField('Visit'))
class Posts(Document):
year = IntField(default=datetime.datetime.now().year)
month = IntField(default=datetime.datetime.now().month)
day = IntField(default=datetime.datetime.now().day, unique_with=('month', 'year'))
posts = ListField(EmbeddedDocumentField('Post'))
class Visit(Document):
user = ReferenceField('User')
time_spent = IntField(default=0)
class Post(Document):
id = IntField(primary_key=True)
user = ReferenceField('User')
number_of_comments = IntField(default=0)
number_of_clicks = IntField(default=0)
class User(Document):
id = IntField(primary_key=True)
created_at = DateTimeField(default=datetime.datetime.now())
test_subject = IntField(default="0")
您可以使用类上的
._get_collection()
方法获得pymongo驱动程序实现的原始“collection”对象。在因此,如果您有一个MongoDB 2.6或更高版本,则可以使用^{} 运算符进行聚合:
在MongoDB 2.6之前,您需要先^{} 数组才能获得元素的计数。在
^{pr2}$使用^{} 运算符来限制范围可能是个好主意。PyMongo和MongoDB样式的查询与django样式稍有不同,因此您可能需要熟悉MongoDB手册中的standard query operators。在
相关问题 更多 >
编程相关推荐