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

設定されたフィールドのMongoDBスライス配列?


配列をスライスするには、MongoDBで$slice演算子を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo503.insertOne({_id:1,Name:"John",Subject:["MySQL","Java","C"]});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo503.insertOne({_id:2,Name:"David",Subject:["MongoDB","C++","Python"]});
{ "acknowledged" : true, "insertedId" : 2 }

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

> db.demo503.find().pretty();

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

{ "_id" : 1, "Name" : "John", "Subject" : [ "MySQL", "Java", "C" ] }
{
   "_id" : 2,
   "Name" : "David",
   "Subject" : [
      "MongoDB",
      "C++",
      "Python"
   ]
}

以下は、入力されたフィールドの配列をスライスするためのクエリです-

> db.demo503.find({_id:2}, { 'Subject': { $slice: -1 }});

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

{ "_id" : 2, "Name" : "David", "Subject" : [ "Python" ] }

  1. idがドキュメントフィールドの配列値と等しい場合に除外するMongoDBクエリ

    このために、$inと一緒に$notを使用します。ドキュメントを使用してコレクションを作成しましょう- [    {       id: "101",       subjectid: [          "102"       ]    },    {       id: "102",   &nb

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

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