Bạn cần sử dụng insert () cho việc này. Bất cứ khi nào bạn chèn giá trị _id tùy chỉnh và tài liệu đã tồn tại với giá trị _id tùy chỉnh thì lỗi sẽ hiển thị.
Đầu tiên chúng ta hãy tạo một bộ sưu tập với các tài liệu. Theo điều này, chúng tôi đã thử thêm lại cùng một tài liệu và điều này dẫn đến lỗi
> db.customIdDemo.insert ({"_ id":1, "StudentName":"John"}); WriteResult ({"nInserted":1})> db.customIdDemo.insert ({"_ id":1 , "StudentName":"Carol"}); WriteResult ({"nInserted":0, "writeError":{"code":11000, "errmsg":"Bộ sưu tập lỗi khóa trùng lặp E11000:chỉ mục admin.customIdDemo:_id_ lặp khóa :{:1.0} "}})> db.customIdDemo.insert ({" _ id ":2," StudentName ":" Carol "}); WriteResult ({" nInserted ":1})> db.customIdDemo.insert ( {"_id":2, "StudentName":"Carol"}); WriteResult ({"nInserted":0, "writeError":{"code":11000, "errmsg":"Bộ sưu tập lỗi khóa trùng lặp E11000:admin. chỉ mục customIdDemo:_id_ lặp key:{:2.0} "}})> db.customIdDemo.insert ({" _ id ":3," StudentName ":" Chris "}); WriteResult ({" nInserted ":1})
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.customIdDemo.find (). pretty ();
Điều này sẽ tạo ra kết quả sau
{"_id":1, "StudentName":"John"} {"_id":2, "StudentName":"Carol"} {"_id":3, "StudentName":"Chris"}