假设我在Mongo中具有以下数据模型:
{
_id: ...,
name: "...",
obj: {...},
list: [ ... ],
}
现在说,我的
list
数组很长,我不想每次都抓取整个文档。所以我想获取obj
和name
,但是只捕获list
中的最后5个元素。您如何在Mongo上做到这一点?我正在使用pymongo。 最佳答案
我认为您正在寻找$slice
运算符。文件是here。
您正在寻找的语法是这样的:
db.coll.find({}, {obj:1, name: 1, list:{$slice: -5}}); // last 5
请注意,默认情况下,这还将返回
_id
字段。如果您不希望_id
在_id:0
前面添加obj:1
。这是JS语法,但是python语法将非常接近。关于mongodb - 您如何在Mongo中限制数组子元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11595603/