Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để cập nhật tài liệu MongoDB để thêm một mục mới vào một mảng?

Để thêm một mục mới vào một mảng, bạn có thể sử dụng toán tử $ push. Trước tiên, hãy để chúng tôi triển khai truy vấn sau để tạo một bộ sưu tập với các tài liệu:

> 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")
}

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find ()

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

Điều này sẽ tạo ra kết quả sau

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

Sau đây là truy vấn để thêm một mục mới vào một mảng

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

Bây giờ hãy kiểm tra xem mục có được chèn vào mảng hay không

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

Điều này sẽ tạo ra kết quả sau. Chuỗi “MySQL” được chèn thành công trong 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"
   ]
}