我有一个像这样的公司mongodb结构:
{ "companyName" : "SomeCompany",
"Products" : [
{
"productId" : "e3rQACssGkfp9zsue",
"productCode" : "271102502",
"memberPrice" : "200",
},
{
"productId" : "e3rQACssGkfp9zsue",
"productCode" : "271102502",
"memberPrice" : "500",
},
]
}
每个公司都有一个名为Products的嵌套对象,它有自己的属性。如何遍历对象以从产品中打印出memberPrice?我正在尝试做类似的事情:
console.log(Company.Products.memberPrice)
返回undefined ...
答案 0 :(得分:2)
使用数组的forEach()
方法迭代元素的属性:
var obj = {
"companyName" : "SomeCompany",
"Products" : [
{
"productId" : "e3rQACssGkfp9zsue",
"productCode" : "271102502",
"memberPrice" : "200",
},
{
"productId" : "e3rQACssGkfp9zsue",
"productCode" : "271102502",
"memberPrice" : "500",
},
]
};
obj.Products.forEach(function(product){
console.log(product.memberPrice); // 200, 500
})
- 更新 -
如果你想使用find()
光标的forEach()
方法迭代mongo shell中的对象,你可以考虑以下(感谢@Michael):
db.collection.find().forEach(function(doc){
doc.Products.forEach(function(p){
print(p.memberPrice);
});
});