Mongodb字段值作为另一个字段

时间:2015-11-17 14:01:28

标签: mongodb mongodb-query

我只想获得字段值是另一个字段的值的字段值。 例如:下面我想获得价值("品牌")="东芝"在哪里"品牌"是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);

})

请帮助解决此问题。

1 个答案:

答案 0 :(得分:0)

使用 bracket notation 访问对象的属性。在你的情况下,这将是

db.products.find().limit(5).forEach(function(myDoc) { 
    var brand = myDoc.mappingData.brand,
        brandVal = myDoc[brand];
    print(brandVal);
})