我只想获得字段值是另一个字段的值的字段值。 例如:下面我想获得价值("品牌")="东芝"在哪里"品牌"是field mappingData.brand
的值{
"_id" : ObjectId("5640bdec1b988de0be317251"),
"Part number" : "PS460E-04NVX-NL",
"Brand" : "Toshiba",
"Quality" : "XYZ",
"Category" : "notebooks",
"Model Name" : "Satellite Pro 4600 PIII900",
"EAN" : "",
"Market Presence" : "N",
"Family" : "",
"Title" : "Toshiba Satellite Pro 4600 PIII900",
"mapping" : {
"brand" : "Brand",
"title" : "Title"
}
}
我正在尝试以下方式,但它返回undefined。
db.products.find().limit( 5 ).forEach(function(myDoc) {
var b=myDoc.mappingData.brand;
print(myDoc.$$b);
})
请帮助解决此问题。
答案 0 :(得分:0)
使用 bracket notation 访问对象的属性。在你的情况下,这将是
db.products.find().limit(5).forEach(function(myDoc) {
var brand = myDoc.mappingData.brand,
brandVal = myDoc[brand];
print(brandVal);
})