MongoDB集計メソッドで整数の配列を連結するにはどうすればよいですか?
連結するには、MongoDBaggregate()で$concatを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-
> db.demo377.insertOne({"ListOfIds":[1001,1002,1003,1004,1005,1006,1007]}); { "acknowledged" : true, "insertedId" : ObjectId("5e5a73462ae06a1609a00b0e") }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo377.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e5a73462ae06a1609a00b0e"), "ListOfIds" : [ 1001, 1002, 1003, 1004, 1005, 1006, 1007 ] }
以下は、整数の配列を集約して連結するためのクエリです-
> db.demo377.aggregate([ ... { "$project": { ... "ListOfIds": { ... "$let": { ... "vars": { ... "key": { ... "$reduce": { ... "input": "$ListOfIds", ... "initialValue": "", ... "in": { "$concat": ["$$value", "++", { "$toLower": "$$this" }] } ... } ... } ... }, ... "in": { "$substrCP": ["$$key", 2, { "$strLenCP": "$$key" }] } ... } ... } ... }} ... ])
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e5a73462ae06a1609a00b0e"), "ListOfIds" : "1001++1002++1003++1004++1005++1006++1007" }
-
MongoDB配列の要素を削除するにはどうすればよいですか?
要素を削除するには、MongoDBで$ pullを更新して、使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{ "acknowledged" : true
-
MongoDBアグリゲーションで配列の要素のサブセットを一緒に追加するにはどうすればよいですか?
配列の要素のサブセットを追加するには、$firstと$sumを一緒に使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo610.insertOne({Values:[10,20,30,40,50]});{ "acknowledged" : true, "insertedId" : ObjectId("5e9747b8f57d0dc0b182d62e") } find()メソッドを使用してコレクションからすべてのドキュメントを表示する- > db.demo610.f