8

Mongo で複数行の配列に複数の項目を追加したいと考えています。これどうやってするの?

私はこれから始めたい:

{'x': 'h', arr: [1,2,3] }
{'x': 'h', arr: [1,3] }

配列 [6,8] を追加します。ここで、x は 'h' に等しくなります。

{'x': 'h', arr: [1,2,3,6,8] }
{'x': 'h', arr: [1,6,8] }
4

5 に答える 5

11

あなたが探しているのは $pushAll 演算子だと思います。ここを見てください:

http://docs.mongodb.org/manual/reference/operator/pushAll/#pushall

于 2012-04-30T13:04:03.203 に答える
8

という名前の MongoDB コレクションと という名前yourCollectionのレコードがあるx場合、サブ配列を次のように更新します。

db.test.update( {"name":"x"}, {"$pushAll" : {arr : [1, 2, 3]}} )

ここで重要なキーワードは$pushAllです。これを使用して、単一のレコード属性内の配列にアイテムを追加できます。

于 2012-05-01T03:54:30.630 に答える
1

複数のレコードを更新する場合はtrue、4番目の引数として更新関数に渡すことが重要です。

db.test.update( {"name": "x"}, {"$pushAll": {"arr": [1, 2, 3]}}, false, true)

update()のMongoDBシェル構文によると:

db.collection.update( criteria, objNew, upsert, multi )
  • upsert-レコードが存在しない場合は、レコードを挿入します。アップサートは単一のドキュメントのみを挿入します
  • mutli -1つだけではなく、基準に一致するすべてのドキュメントを更新する必要があるかどうかを示します
于 2012-12-14T18:39:41.623 に答える