繁体   English   中英

如何获取 MongoDB 文档的所有字段

[英]How to get all fields of a MongoDB document

在应用程序中,我用不同的用户在用户文档的集合中写下来。 每个文档都是一个 object,其中有一个用户名和他的类别。 类别是 object。 如何获取所有记录的类别。 我尝试通过 find() 来处理它们,但是我需要指定键值。 我只需要指定类别字段并在那里获取所有键值。 如何获取单个用户的所有类别? 我需要通过钥匙找到它们。

 mongoClient.connect(function (err, client) { const db = client.db("expensesdb"); const collection = db.collection("users"); if (err) return console.log(err); collection.find({ name: "Bob"}).toArray(function (err, results) { console.log(results); client.close(); }); });

样本数据集

{ "_id" : ObjectId("63050125848392dcf6f3ebba"), "name" : "max", "category" : { "cat1" : "max1", "cat2" : "max2" } }

{ "_id" : ObjectId("63050132848392dcf6f3ebbb"), "name" : "box", "category" : { "cat1" : "box1", "cat2" : "box2" } }

试试这个聚合管道:

db.users.aggregate([
    { $match: { "name": "max" } },{$project : {"category":1}}
  ]);

db.users.aggregate([
    { $match: { "category.cat1": "cat1" } },{$project : {"category":1}}
  ]);

Output 对于两者:

{ "_id" : ObjectId("630500ec848392dcf6f3ebb9"), "category" : { "cat1" : "cat1", "cat2" : "cat2" } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM