Python 按范围筛选Mongo嵌入式文档
我有一个mongo系列,看起来像这样:Python 按范围筛选Mongo嵌入式文档,python,mongodb,pymongo,Python,Mongodb,Pymongo,我有一个mongo系列,看起来像这样: { “_id”:“…”, “朋友们”:{ 'id1':{'name':'john','dateAdded':ISODate(…)}, 'id2':{'name':'joe','dateAdded':ISODate(…)}, ... } } 我想按朋友属性添加日期筛选收藏,而不更改收藏模式 是否有一个操作符可以在嵌入式文档字典中进行过滤 其中查询将如下所示: self.collection.find({ 'friends.$operator.dateAdd
{
“_id”:“…”,
“朋友们”:{
'id1':{'name':'john','dateAdded':ISODate(…)},
'id2':{'name':'joe','dateAdded':ISODate(…)},
...
}
}
我想按朋友
属性添加日期
筛选收藏,而不更改收藏模式
是否有一个操作符可以在嵌入式文档字典中进行过滤
其中查询将如下所示:
self.collection.find({
'friends.$operator.dateAdded':{
“$gte”:datetime.datetime(2000,1,1),
“$lte”:datetime.datetime(2001,9,1)
}
})
没有操作员执行您的要求。用(非常)简单的术语,将MongoDB视为键/值存储;您需要知道键才能确定值
如果可以选择,请重构模式,使
friends
成为一个数组,并丢失id
s。通常,使用任意命名键(如id[n]
是一种糟糕的设计。但是,如果我使用数组,如何在执行find()的同时过滤数组?使用elemMatch
或聚合管道。很好!非常感谢。