7

Tôi đang chạy MongoDB trên Windows. Tôi có 1 hoặc nhiều chủ đề thả và tạo lại bộ sưu tập.Có an toàn threado MongoDB không?

Sử dụng mongo.exe với lệnh show collections(), tôi thấy nhiều bộ sưu tập có cùng tên (hơn 1.000 bộ sưu tập có cùng tên!).

Khi tôi chạy Validate:

> db.MY_COLLECTION.validate() 

tôi nhận được:

{ "errmsg" : "ns not found", "ok" : 0, "valid" : false } 

Lệnh size() trả về 0, và find() lợi nhuận gì cả.

Câu hỏi của tôi là: Chuỗi MongoDB có an toàn không? Câu hỏi tiếp theo sẽ là một cái gì đó giống như 'Tôi có làm điều này một cách chính xác (rơi và tạo lại) hay là có cách nào tốt hơn để làm mới toàn bộ nội dung của một bộ sưu tập?'

Trả lời

6

Từ tài liệu MongoDB:

Chủ đề an toàn

Chỉ có một vài trong số các lớp # driver C là chủ đề an toàn. Trong số đó có MongoServer, MongoDatabase, MongoCollection và MongoGridFS. Các lớp phổ biến bạn sẽ sử dụng rất nhiều mà không phải là chủ đề an toàn bao gồm MongoCursor và tất cả các lớp học từ thư viện BSON (ngoại trừ BsonSymbolTable là thread an toàn). Một lớp không phải là chủ đề an toàn trừ khi được ghi lại một cách cụ thể như là luồng an toàn.

Tất cả thuộc tính tĩnh và phương pháp của tất cả các lớp đều là an toàn.

Bạn có thể tìm kiếm cho từ chủ đề trên trang này:

http://mongodb.onconfluence.com/pages/viewpage.action?pageId=18907708&navigatingVersions=true#CSharpDriverTutorial-Threadsafety

3

Thay đổi trong phiên bản 2.2. MongoDB cho phép nhiều khách hàng đọc và viết một kho dữ liệu bằng cách sử dụng hệ thống khóa để đảm bảo rằng tất cả khách hàng đều nhận được dữ liệu thống nhất và ngăn nhiều ứng dụng sửa đổi cùng một phần dữ liệu giống nhau . Ổ khóa giúp đảm bảo rằng tất cả ghi vào một tài liệu duy nhất xảy ra hoặc là đầy đủ hoặc không ở tất cả.

http://docs.mongodb.org/manual/faq/concurrency/