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

配列に新しいアイテムを追加するためにMongoDBドキュメントを更新するにはどうすればよいですか?


配列に新しいアイテムを追加するには、$push演算子を使用できます。まず、次のクエリを実装して、ドキュメントを含むコレクションを作成しましょう。

> db.updateDemo.insertOne({"StudentName":"Larry","StudentCoreSubject":["Java","C"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c98ba78330fd0aa0d2fe4c9")
}
>db.updateDemo.insertOne({"StudentName":"Robert","StudentCoreSubject":["C++","MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c98ba8b330fd0aa0d2fe4ca")
}
> db.updateDemo.insertOne({"StudentName":"Chris","StudentCoreSubject":["Python"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c98ba9b330fd0aa0d2fe4cb")
}

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

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

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

{
   "_id" : ObjectId("5c98ba78330fd0aa0d2fe4c9"),
   "StudentName" : "Larry",
   "StudentCoreSubject" : [
      "Java",
      "C"
   ]
}
{
   "_id" : ObjectId("5c98ba8b330fd0aa0d2fe4ca"),
   "StudentName" : "Robert",
   "StudentCoreSubject" : [
      "C++",
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5c98ba9b330fd0aa0d2fe4cb"),
   "StudentName" : "Chris",
   "StudentCoreSubject" : [
      "Python"
   ]
}

以下は、配列に新しいアイテムを追加するためのクエリです

> db.updateDemo.update( { _id:ObjectId("5c98ba78330fd0aa0d2fe4c9") }, { $push: { "StudentCoreSubject": "MySQL" } });
Updated 1 existing record(s) in 2ms
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

次に、アイテムが配列に挿入されているかどうかを確認します

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

これにより、次の出力が生成されます。文字列「MySQL」がID5c98ba78330fd0aa0d2fe4c9に正常に挿入されました

{
   "_id" : ObjectId("5c98ba78330fd0aa0d2fe4c9"),
   "StudentName" : "Larry",
   "StudentCoreSubject" : [
      "Java",
      "C",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c98ba8b330fd0aa0d2fe4ca"),
   "StudentName" : "Robert",
   "StudentCoreSubject" : [
      "C++",
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5c98ba9b330fd0aa0d2fe4cb"),
   "StudentName" : "Chris",
   "StudentCoreSubject" : [
      "Python"
   ]
}

  1. 学生DavidのMongoDBでマーク値を使用してドキュメントを更新する方法

    forEach()とトラバースを使用して、学生名を検索します。Davidは同じ学生の新しいマークを更新します。ドキュメントを使用してコレクションを作成しましょう- > db.demo634.insertOne({Name:"Chris","Marks":76}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e9c0ea66c954c74be91e6c9") } > db.d

  2. MongoDBのドキュメントから配列値を削除するにはどうすればよいですか?

    配列値を削除するには、MongoDBで$pullを使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- > db.demo535.insertOne( ... { ... ...    "studentId" : "101", ...    "studentName" : "Chris", ...    &quo