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

MongoDBドキュメントを配列に値を含まないフィールドと一致させますか?


配列に値を含まないフィールドを持つドキュメントを照合するには、$ninを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo180.insertOne({"Scores":["80","90","110"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3988a69e4f06af551997fb")
}
> db.demo180.insertOne({"Scores":["110","70","60"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3988b79e4f06af551997fc")
}
> db.demo180.insertOne({"Scores":["40","70","1010"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3988cc9e4f06af551997fd")
}

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

> db.demo180.find();

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

{ "_id" : ObjectId("5e3988a69e4f06af551997fb"), "Scores" : [ "80", "90", "110" ] }
{ "_id" : ObjectId("5e3988b79e4f06af551997fc"), "Scores" : [ "110", "70", "60" ] }
{ "_id" : ObjectId("5e3988cc9e4f06af551997fd"), "Scores" : [ "40", "70", "1010" ] }

以下は、配列-

に値を含まないフィールドを持つドキュメントを照合するためのクエリです。
> db.demo180.aggregate({ "$match": { "Scores": { "$nin": ["110","90"] } } }).pretty();

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

{
   "_id" : ObjectId("5e3988cc9e4f06af551997fd"),
   "Scores" : [ "40", "70", "1010" ]
}

  1. Aggregationを使用して、MongoDBのすべての値を照合します

    MongoDBのすべての値を一致させるには、Aggregationで$andとともに$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo574.insertOne( ...    { ...       "details1": { ...          "details2": { ...             "dueDate&q

  2. 配列フィールドを含むドキュメントに一致するMongoDBクエリ

    配列フィールドを含むドキュメントを照合するには、$elemMatch演算子を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo592.insertOne( ...    { ...       "id":101, ...       "details" : [ ...          { "Name" : "Chris", "Value