mongoDB でネストされた JSON 構造をフラット化する 質問する

mongoDB でネストされた JSON 構造をフラット化する 質問する

MongoDB に次のようなオブジェクトが保存されています:

{
_id: 123
name: "xyz"
    attrib: 
    {
       address: "123 xyz rd",
       phone: "123-456-7890"
    }
}

attribこの構造をフラット化して、フィールドをなくし、およびとともにaddressおよびフィールドのみを持つようにします。phonename_id

これまで私が試したことは次のとおりです:

db.emp.aggregate(
    { 
    $project : {
            { addr : '$review.attrib.address' },
            { phn : '$review.votes.phone' },
        }
    }
);

誰かさらに助けてくれませんか?

ベストアンサー1

私はそれを試してみました:

db.abc.insert({
  _id: 123,
  name: "xyz",
  attrib: {
     address: "123 xyz rd",
     phone: "123-456-7890"
  }
});
db.abc.aggregate(
{ 
  $project : {
    _id:1,
    name:1,
    addr : '$attrib.address',
    phn : '$attrib.phone' 
  }
}
);

詳細は以下をご覧ください:use $project to rename fields http://docs.mongodb.org/manual/reference/aggregation/project/

おすすめ記事