用mongoose检查储值

我正在寻找最快的方式来获得隐私值为“公开”的集合的所有对象ID。

在这里输入图像说明

在这个图像中,隐私的价值是“公开的”,所以节点应该给我这个对象的'_id'(在这个例子中是'57bc4b9f466fab7c099a3f94')。

我的尝试:

var mongoose = require('mongoose'); mongoose.connect('localhost:27017/databasename'); var Schema = mongoose.Schema; var collectionsNameSchema = new Schema({ updated: {type: Date }, privacy: { type: Object } }, {collection: 'spots'}); var collectionsNameData = mongoose.model('collectionsNameData', collectionsNameSchema); ... collectionsNameData.find({privacy: 'public'}) 

从我看到你有一个问题在查询到mongoDB。

像这样尝试。

 collectionsNameData.find({'privacy.value': 'public'}); 

这应该返回所需的结果。 您也可以使用投影作为查找中的第二个参数,只返回所需的字段。 请记住,_id默认返回。

希望这可以帮助。