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

配列フィールドの値をMongoDBに置き換えますか?


位置演算子$を使用できます。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.replaceAnArrayFieldValueDemo.insertOne({"StudentTechnicalSubjects":["MySQL","SQL Server","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cea41e0ef71edecf6a1f68f")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

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

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

{
   "_id" : ObjectId("5cea41e0ef71edecf6a1f68f"),
   "StudentTechnicalSubjects" : [
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}

以下は、配列フィールド値を置き換えるクエリです。ここでは、「SQLServer」を「MongoDB」で更新しています-

> db.replaceAnArrayFieldValueDemo.update(
   {"StudentTechnicalSubjects":"SQL Server"},
   { $set: { 'StudentTechnicalSubjects.$': "MongoDB" }}
);
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })

もう一度ドキュメントを確認しましょう-

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

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

{
   "_id" : ObjectId("5cea41e0ef71edecf6a1f68f"),
   "StudentTechnicalSubjects" : [
      "MySQL",
      "MongoDB",
      "PL/SQL"
   ]
}

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

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

  2. 特定のフィールド値を持つドキュメントをフェッチするためのMongoDB集約?

    これには、aggregate()を使用します。値が「21」のフィールド「Age」を持つドキュメントをフェッチする必要があるとします。 ドキュメントを使用してコレクションを作成しましょう- > db.demo685.insertOne( ...    { ...       "details": ...       [ ...          { ...