我有像
这样的数据{
u'_id': {u'$oid': u'548e8396f7e19418857e47fc'},
u'a': [
{u'd': u'a'},
{u'd': u'a'},
...,
{u'd': u'a'}
]
}
我想知道如何限制子列的数量,如
{u'_id':{u'$ oid':u'548e8396f7e19418857e47fc'},u'a':[{u'd':u'a'}, {u'd':u'a'},{u'd':u'a'}}}
对于整个文档,我可以使用
来完成db.Col.find()。极限(5)
但是如何在每个文档中提取几个子列?
答案 0 :(得分:0)
您可以使用$slice运算符。
您正在寻找的语法是这样的:
db.your_collection.find({
...
}, {
your_field: { $slice: 3 }
});
这应该从你的数组中返回3个第一个子元素(你可以使用-3来返回最后一个)