19

次のようなオブジェクトが MongoDB に格納されています。

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

フィールドがないように、この構造をフラットにしたいのですが、 andと一緒にandフィールドattribを持っているだけです。addressphonename_id

これまでのところ、これは私が試したことです:

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

誰でも私をさらに助けることができますか?

4

2 に答える 2

25

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

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' 
  }
}
);

詳細を見ることができます:<code>$project を使用してフィールドの名前を変更します http://docs.mongodb.org/manual/reference/aggregation/project/

于 2013-07-30T02:50:51.583 に答える