0
以下のようなmongodbドキュメント構造を作成します。MongoDBの配列のサブ配列に要素を追加する
data:[[{a:b},{b:c}],[{e:f}],[{f:g},{j:h},{i:l}]]
この構造は、必要であれば、私は、新たなサブ配列要素、上記の例では三つのサブ配列を含む既存のデータ・アレイに4を追加することを可能にします。
mongodbシェルからbelowコマンドを使用して新しいサブアレイ要素を追加できました。
db.xyz.update({'id':'A01'},{$push:{data:[]}},{})
しかし、それぞれの配列にデータをプッシュするための解決策を見つけることができません。次のコマンドは機能しません。
db.xyz.update({'id':'A01'},{$push:{data[0]:{$push:{a:b}}}},{})
そして、データの最初の配列の最初の要素を取得するために、私は({ 'ID': 'A01'} db.xyz.findをしようとしています、{ data.0:{$ slice:1}})でも取得できません。最初の配列の最初の要素を取得する方法をdb.xyz.find({id: 'A01'}、{data:{slice:1}})しようとしている間、最初の配列のすべての配列要素を取得しています。 –
@SatyaNarayanaこのようにすることができます:db.xyz.aggregate([{$ match:{_id: "A01"}}、{$ project:{data:{$ arrayElemAt:[{$ arrayElemAt:["$ data "、0]}、0]}}}]) – felix
ありがとうございました。 –