Mongodb có tốt để cập nhật không?

Các phương thức update() và save() của MongoDB được sử dụng để cập nhật tài liệu vào một bộ sưu tập. Phương thức update() cập nhật các giá trị trong tài liệu hiện có trong khi phương thức save() thay thế tài liệu hiện có bằng tài liệu được truyền trong phương thức save()

Phương thức cập nhật MongoDB()

Phương thức update() cập nhật các giá trị trong tài liệu hiện có

cú pháp

Cú pháp cơ bản của phương thức update() như sau -

>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)

Thí dụ

Hãy xem xét bộ sưu tập mycol có dữ liệu sau

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}

Ví dụ sau sẽ đặt tiêu đề mới 'Hướng dẫn MongoDB mới' cho các tài liệu có tiêu đề là 'Tổng quan về MongoDB'

>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>db.mycol.find()
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"New MongoDB Tutorial"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
>

Theo mặc định, MongoDB sẽ chỉ cập nhật một tài liệu duy nhất. Để cập nhật nhiều tài liệu, bạn cần đặt tham số 'multi' thành true

>db.mycol.update({'title':'MongoDB Overview'},
   {$set:{'title':'New MongoDB Tutorial'}},{multi:true})

Phương thức Lưu () MongoDB

Phương thức save() thay thế tài liệu hiện có bằng tài liệu mới được truyền vào phương thức save()

cú pháp

Cú pháp cơ bản của phương thức save() trong MongoDB được hiển thị bên dưới -

>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})

Thí dụ

Ví dụ sau sẽ thay thế tài liệu bằng _id '5983548781331adf45ec5'

>db.mycol.save(
   {
      "_id" : ObjectId("507f191e810c19729de860ea"), 
		"title":"Tutorials Point New Topic",
      "by":"Tutorials Point"
   }
)
WriteResult({
	"nMatched" : 0,
	"nUpserted" : 1,
	"nModified" : 0,
	"_id" : ObjectId("507f191e810c19729de860ea")
})
>db.mycol.find()
{ "_id" : ObjectId("507f191e810c19729de860e6"), "title":"Tutorials Point New Topic",
   "by":"Tutorials Point"}
{ "_id" : ObjectId("507f191e810c19729de860e6"), "title":"NoSQL Overview"}
{ "_id" : ObjectId("507f191e810c19729de860e6"), "title":"Tutorials Point Overview"}
>

Phương thức findOneAndUpdate() của MongoDB

Phương thức findOneAndUpdate() cập nhật các giá trị trong tài liệu hiện có

cú pháp

Cú pháp cơ bản của phương thức findOneAndUpdate() như sau -

>db.COLLECTION_NAME.findOneAndUpdate(SELECTIOIN_CRITERIA, UPDATED_DATA)

Thí dụ

Giả sử chúng ta đã tạo một bộ sưu tập có tên empDetails và chèn ba tài liệu vào đó như hình bên dưới -

> db.empDetails.insertMany(
	[
		{
			First_Name: "Radhika",
			Last_Name: "Sharma",
			Age: "26",
			e_mail: "[email protected]",
			phone: "9000012345"
		},
		{
			First_Name: "Rachel",
			Last_Name: "Christopher",
			Age: "27",
			e_mail: "[email protected]",
			phone: "9000054321"
		},
		{
			First_Name: "Fathima",
			Last_Name: "Sheik",
			Age: "24",
			e_mail: "[email protected]",
			phone: "9000054321"
		}
	]
)

Ví dụ sau cập nhật giá trị tuổi và email của tài liệu có tên 'Radhika'

________số 8_______

Phương thức cập nhật MongoDBOne()

Phương pháp này cập nhật một tài liệu phù hợp với bộ lọc đã cho

cú pháp

Cú pháp cơ bản của phương thức updateOne() như sau -

>db.COLLECTION_NAME.updateOne(, )

Thí dụ

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
0

Phương thức updateMany() của MongoDB

Phương thức updateMany() cập nhật tất cả các tài liệu khớp với bộ lọc đã cho

cú pháp

Cú pháp cơ bản của phương thức updateMany() như sau -

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
1

Thí dụ

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
2

Bạn có thể thấy các giá trị được cập nhật nếu bạn truy xuất nội dung của tài liệu bằng phương thức find như bên dưới -

Chúng tôi có thể cập nhật trong MongoDB không?

Trình vỏ MongoDB cung cấp các phương thức sau để cập nhật tài liệu trong bộ sưu tập. Để cập nhật một tài liệu, hãy sử dụng db. bộ sưu tập. updateOne() .

MongoDB không tốt cho việc gì?

MongoDB sẽ không phù hợp lắm với các ứng dụng cần. Giao dịch nhiều đối tượng . MongoDB chỉ hỗ trợ các giao dịch ACID cho một tài liệu duy nhất. SQL. SQL nổi tiếng và rất nhiều người biết cách viết các truy vấn rất phức tạp để thực hiện nhiều việc.

MongoDB được sử dụng tốt nhất để làm gì?

MongoDB hoạt động tốt nhất với dữ liệu phi cấu trúc, vì vậy nó rất phù hợp với Hệ thống Dữ liệu lớn, ứng dụng MapReduce, diễn đàn trang tin tức và ứng dụng mạng xã hội . Sử dụng MongoDB khi. Bạn đang sử dụng điện toán đám mây. MongoDB lý tưởng cho điện toán đám mây.

Hạn chế của MongoDB là gì?

Kích thước tài liệu BSON tối đa là 16MB hoặc 16777216 byte . Tất cả các chuyển đổi nên sử dụng tỷ lệ cơ sở 2, e. g. 1024 kilobyte = 1 megabyte.