MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBの配列フィールドを操作してすべてに一致させるにはどうすればよいですか?


MongoDBのすべてに一致させるには、$allを使用します。 $ all演算子は、フィールドの値が指定されたすべての要素を含む配列であるドキュメントを選択します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo695.insertOne({"ListOfValues":[100,200,500,800]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6d4c4551299a9f98c938f")
}
> db.demo695.insertOne({"ListOfValues":[1000,200,4000]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6d4cf551299a9f98c9390")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo695.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5ea6d4c4551299a9f98c938f"), "ListOfValues" : [ 100, 200, 500, 800 ] }
{ "_id" : ObjectId("5ea6d4cf551299a9f98c9390"), "ListOfValues" : [ 1000, 200, 4000 ] }

以下は、配列フィールドを操作してすべてに一致するクエリです-

> db.demo695.find({"ListOfValues":{$all:[1000,200,4000]}});

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5ea6d4cf551299a9f98c9390"), "ListOfValues" : [ 1000, 200, 4000 ] }

  1. MongoDBで保存されたJavaScriptを操作する方法は?

    特別なsystem.jsコレクションに保存されます。これには、db.system.js.save()を使用します。以下は構文です- db.system.js.save({    _id: "anyFunctionName",    value: function (returnValue) {       return ‘yourMessage ' + returnValue;    } }) 上記の構文を実装しましょう。以下はクエリです- > db.sys

  2. 特定の値より大きい配列値を持つドキュメントを照合するためのMongoDBクエリ

    $elemMatchを使用できます。 $ elemMatch演算子は、指定されたすべてのクエリ条件に一致する要素が少なくとも1つある配列フィールドを含むドキュメントと一致します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo701.insertOne({"ListOfValues":[100,200,300]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea6e8cf5512