我能够通过遍历所有值来打印数组中的每一项,但无法在 MongoDB 中获取特定项
若要获取特定元素,请使用 forEach() 进行迭代。让我们使用文档创建一个集合 −
> db.demo742.insertOne({ "userDetails": [ { "userName":"Robert", "CountryName":"UK" }, { "userName":"David", "CountryName":"AUS" } ]} ); { "acknowledged" : true, "insertedId" : ObjectId("5ead790b57bb72a10bcf0677") }
使用 find() 方法显示集合中的所有文档 −
> db.demo742.find().pretty();
这将生成以下输出 −
{ "_id" : ObjectId("5ead790b57bb72a10bcf0677"), "userDetails" : [ { "userName" : "Robert", "CountryName" : "UK" }, { "userName" : "David", "CountryName" : "AUS" } ] }
以下是从数组中获取元素的查询 −
> var ListOfCountryName= {}; > db.demo742.find({}).forEach(function(doc) { ... doc.userDetails.forEach(function (d){ ... ListOfCountryName[d.CountryName] =d.CountryName; ... }); ... } ... ) > printjson(ListOfCountryName);
这将生成以下输出 −
{ "UK" : "UK", "AUS" : "AUS" }
广告