只返回mongoose .find()上的文档_id

时间:2017-09-18 17:01:06

标签: javascript node.js mongodb mongoose

我通过将新数据推送到其文档中的数组来每秒更新100个文档。要获取我要向其添加数据的文档,我使用mongoose .find().limit(1)函数,并返回整个文档。它工作正常。

为了解决我遇到的一些内存和cpu问题,我想知道如何让find()只返回文档的id,这样我就可以使用它来$ push或$ set new数据。

感谢。

2 个答案:

答案 0 :(得分:1)

您希望使用Projection来准确地告诉您的查询对象的内容。

_id总是包含在内,除非你告诉它不要。

readings = await collection
.find({
    name: "Some name you want"
})
.project({
    _id: 1 // By default
})
.toArray();

答案 1 :(得分:0)

您可以使用 var oModel = this.getView().getModel(); var sRow = oEvent.getSource().getBindingContext().getPath(); oModel.setProperty(sRow + "/checked", TRUE OR FALSE HERE); 方法为您的查询获取distinct数组。

关注this question