簡體   English   中英

你如何限制Mongo中的數組子元素?

[英]How do you limit an array subelement in Mongo?

假設我在Mongo中有以下數據模型:

{
   _id: ...,
   name: "...",
   obj: {...},
   list: [ ... ],
}

現在讓我們說,我的list數組非常長,我不想每次都抓取整個文檔。 所以我想獲得objname ,但只獲取list的最后5個元素。 你如何使用Mongo做到這一點? 我正在使用pymongo。

我認為你正在尋找$slice運算符。 文件在這里

您正在尋找的語法是這樣的:

db.coll.find({}, {obj:1, name: 1, list:{$slice: -5}}); // last 5

請注意,默認情況下,這也將返回_id字段。 如果你不想在obj:1前加上_id add _id:0 這是JS語法,但python語法非常接近。

使用$ slice運算符來限制數組元素

GeoLocation.find({},{name: 1, geolocation:{$slice: -5}})
    .then((result) => {
      res.json(result);
    })
    .catch((err) => {
      res.status(500).json({ success: false, msg: `Something went wrong. ${err}` });
});

geolocation是數據數組,我們得到最后5條記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM