如何更新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”已成功插入ID 5c98ba78330fd0aa0d2fe4c9

{

   "_id" : ObjectId("5c98ba78330fd0aa0d2fe4c9"),

   "StudentName" : "Larry",

   "StudentCoreSubject" : [

      "Java",

      "C",

      "MySQL"

   ]

}

{

   "_id" : ObjectId("5c98ba8b330fd0aa0d2fe4ca"),

   "StudentName" : "Robert",

   "StudentCoreSubject" : [

      "C++",

      "MongoDB"

   ]

}

{

   "_id" : ObjectId("5c98ba9b330fd0aa0d2fe4cb"),

   "StudentName" : "Chris",

   "StudentCoreSubject" : [

      "Python"

   ]

}

以上是 如何更新MongoDB文档以将新项目添加到数组? 的全部内容, 来源链接: utcz.com/z/338065.html

回到顶部