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

Thêm trường mới vào mọi tài liệu trong bộ sưu tập MongoDB?

Để thêm trường mới vào mọi tài liệu trong bộ sưu tập MongoDB, bạn có thể sử dụng toán tử $ set. Cú pháp như sau:

db.yourCollectionName.update({}, { $set: {"yourFieldName": yourValue} }, false, true);

Để hiểu cú pháp trên, chúng ta hãy tạo một bộ sưu tập với một số tài liệu. Truy vấn để tạo một bộ sưu tập với các tài liệu như sau:

>db.addNewFieldToEveryDocument.insertOne({"StudentName":"John","StudentAddress":"US
"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6efc0b6fd07954a48906ae")
}
>db.addNewFieldToEveryDocument.insertOne({"StudentName":"David","StudentAddress":"U
K"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6efc0b6fd07954a48906af")
}
>db.addNewFieldToEveryDocument.insertOne({"StudentName":"Carol","StudentAddress":"U
K"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6efc0b6fd07954a48906b0")
}
>db.addNewFieldToEveryDocument.insertOne({"StudentName":"Bob","StudentAddress":"US"
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6efc0b6fd07954a48906b1")
}

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 (). Truy vấn như sau:

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

Sau đây là kết quả:

{
   "_id" : ObjectId("5c6efc0b6fd07954a48906ae"),
   "StudentName" : "John",
   "StudentAddress" : "US"
}
{
   "_id" : ObjectId("5c6efc0b6fd07954a48906af"),
   "StudentName" : "David",
   "StudentAddress" : "UK"
}
{
   "_id" : ObjectId("5c6efc0b6fd07954a48906b0"),
   "StudentName" : "Carol",
   "StudentAddress" : "UK"
}
{
   "_id" : ObjectId("5c6efc0b6fd07954a48906b1"),
   "StudentName" : "Bob",
   "StudentAddress" : "US"
}

Sau đây là truy vấn để thêm trường mới vào mọi tài liệu:

> db.addNewFieldToEveryDocument.update({}, { $set: {"StudentAge": 24} }, false, true);
WriteResult({ "nMatched" : 4, "nUpserted" : 0, "nModified" : 4 })

Ở trên, chúng tôi đã thêm một trường mới “StudentAge”:24 trong mọi tài liệu. Hãy để chúng tôi kiểm tra trường “StudentAge”:24 có được thêm thành công vào mọi tài liệu hay không. Truy vấn như sau:

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

Sau đây là kết quả:

{
   "_id" : ObjectId("5c6efc0b6fd07954a48906ae"),
   "StudentName" : "John",
   "StudentAddress" : "US",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c6efc0b6fd07954a48906af"),
   "StudentName" : "David",
   "StudentAddress" : "UK",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c6efc0b6fd07954a48906b0"),
   "StudentName" : "Carol",
   "StudentAddress" : "UK",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c6efc0b6fd07954a48906b1"),
   "StudentName" : "Bob",
   "StudentAddress" : "US",
   "StudentAge" : 24
}