我正试图为我所有的文件找一个字段。
我是mongoDB的新手,但我不明白为什么它不起作用。
var docs = db.collection("articles").find({}, { _id: 0, title:1}).asArray();
我有这个查询,它返回所有字段,尽管放了只想要标题字段的投影。查询运行没有任何错误。也许我错过了一些非常明显的东西,需要第二双眼睛才能发现它。
感谢您的帮助!
注意:我正在使用mongoDB Atlas的Stitch API。
答案 0 :(得分:1)
我猜您正在使用MongoDB Stitch Browser SDK(当前为版本4)。
在这种情况下,collection
是RemoteMongoCollection的实例。 find()接受RemoteFindOptions格式的选项。您可以使用projection
键定义一个对象,以定义projection
来限制匹配文档的字段。
例如:
const client = stitch.Stitch.initializeDefaultAppClient('app-id');
const db = client.getServiceClient(stitch.RemoteMongoClient.factory, 'mongodb-atlas').db('databaseName');
client.auth.loginWithCredential(new stitch.AnonymousCredential())
.then(() => {
db.collection('collectionName')
.find({},
{"projection":{"_id":0, "title": 1}}
)
.asArray().then(docs => {
// prints results
console.log(docs);
});
}).catch(err => {
// Handle error here
console.log("Error", err);
});