FindOne MongoDB
Hàm 8 trong Mongoose có nhiều trường hợp sử dụng khác nhau. Bạn nên sử dụng 9 để cập nhật tài liệu nếu có thể, nhưng có một số trường hợp bạn cần sử dụng 8. Trong hướng dẫn này, bạn sẽ thấy cách sử dụng 8 và tìm hiểu khi nào bạn cần sử dụng nó Như tên ngụ ý, 8 tìm tài liệu đầu tiên khớp với một 3 nhất định, áp dụng một 4 và trả lại tài liệu. Theo mặc định, 8 trả về tài liệu như trước khi áp dụng 4 Bạn nên đặt tùy chọn 80 thành 81 để trả lại tài liệu sau khi áp dụng 4 Mongoose's 8 hơi khác so với MongoDB Node. js của 8 vì nó trả về chính tài liệu, không phải đối tượng kết quả Để thay thế cho tùy chọn 80, bạn cũng có thể sử dụng tùy chọn 86. 87 tương đương với 88. Tùy chọn 86 tồn tại để thống nhất với Nút MongoDB. js của trình điều khiển 8, có tùy chọn tương tự Ngoại trừ một upert chưa được lập chỉ mục, 8 là nguyên tử. Điều đó có nghĩa là bạn có thể giả định rằng tài liệu không thay đổi giữa thời điểm MongoDB tìm thấy tài liệu và khi nó cập nhật tài liệu, trừ khi bạn đang thực hiện upsert Ví dụ: nếu bạn đang sử dụng 9 để cập nhật tài liệu, thì tài liệu đó có thể thay đổi trong MongoDB giữa khi bạn tải tài liệu bằng cách sử dụng 93 và khi bạn lưu tài liệu bằng cách sử dụng 9 như hiển thị bên dưới. Đối với nhiều trường hợp sử dụng, điều kiện chủng tộc 9 không phải là vấn đề. Nhưng bạn có thể giải quyết vấn đề này với 8 (hoặc các giao dịch) nếu bạn cần Sử dụng tùy chọn 97, bạn có thể sử dụng 8 làm thao tác tìm và nâng cấp. Upsert hoạt động giống như một 8 bình thường nếu nó tìm thấy một tài liệu phù hợp với 3. Tuy nhiên, nếu không có tài liệu nào khớp với 3, MongoDB sẽ chèn một tài liệu bằng cách kết hợp 3 và 4 như hình bên dưới Tùy chọn `rawResult`Mongoose biến đổi kết quả của 8 theo mặc định. nó trả về tài liệu cập nhật. Điều đó gây khó khăn cho việc kiểm tra xem một tài liệu đã được cập nhật hay chưa. Để lấy tài liệu được cập nhật và kiểm tra xem MongoDB đã cập nhật tài liệu mới trong cùng một thao tác hay chưa, bạn có thể đặt cờ 85 để khiến Mongoose trả về kết quả thô từ MongoDB Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng phương pháp MongoDB 2 để truy xuất một tài liệu từ một bộ sưu tập Giới thiệu về phương thức findOne() của MongoDB2 trả về một tài liệu duy nhất từ một bộ sưu tập thỏa mãn điều kiện đã chỉ định Phương thức 2 có cú pháp như sau
2 chấp nhận hai đối số tùy chọn. 6 và 7
Nếu bạn bỏ qua 6, thì 2 sẽ trả về tài liệu đầu tiên trong bộ sưu tập theo thứ tự tự nhiên là thứ tự của tài liệu trên đĩa Nếu bạn không vượt qua đối số 7, thì 2 sẽ bao gồm tất cả các trường trong tài liệu phù hợp Để chỉ định xem một trường có được đưa vào tài liệu được trả về hay không, bạn sử dụng định dạng sau
Nếu 44 là 45 hoặc 46, MongoDB sẽ bao gồm trường này trong tài liệu được trả về. Trong trường hợp 44 là 48 hoặc 49, MongoDB sẽ không bao gồm nó Theo mặc định, MongoDB luôn bao gồm trường 00 trong tài liệu được trả về. Để chặn nó, bạn cần chỉ định rõ ràng 01 trong đối số 7 Nếu nhiều tài liệu thỏa mãn điều kiện 6, phương thức 2 trả về tài liệu đầu tiên dựa trên thứ tự của tài liệu được lưu trữ trên bộ lưu trữ dữ liệu Lưu ý rằng có các dạng phép chiếu khác như phép chiếu mảng và phép chiếu tổng hợp không được đề cập trong hướng dẫn này Ví dụ về phương thức findOne() của MongoDBChúng tôi sẽ sử dụng bộ sưu tập 05 sau đây để trình diễn 4 1) Sử dụng phương thức findOne() của MongoDB với đối số bằng 0Ví dụ sau sử dụng phương pháp 2 để chọn tài liệu đầu tiên từ bộ sưu tập 05 0 Câu lệnh trả về tất cả các trường của tài liệu phù hợp 0 Lưu ý rằng bỏ qua 6 cũng giống như chuyển 6 dưới dạng một tài liệu trống 3 2) Sử dụng phương thức findOne() của MongoDB với bộ lọcCâu lệnh sau sử dụng phương pháp 2 để tìm tài liệu có 00 là 2 6 Nó trả về tất cả các trường của tài liệu với 00 2 8 3) Sử dụng phương thức findOne() của MongoDB để chọn một số trườngVí dụ sau sử dụng phương pháp 2 để tìm tài liệu với 04. Và nó chỉ trả về các trường 00 và 06 của tài liệu phù hợp 3 Truy vấn trả về tài liệu sau 4 Như bạn có thể thấy rõ từ đầu ra, MongoDB bao gồm trường 00 trong tài liệu được trả về theo mặc định Để xóa hoàn toàn nó khỏi tài liệu được trả lại, bạn cần chỉ định rõ ràng 08 trong tài liệu 7 như thế này FindOne trong MongoDB là gì?Phương thức findOne() tìm và trả về một tài liệu phù hợp với tiêu chí lựa chọn đã cho . Nếu nhiều tài liệu thỏa mãn biểu thức truy vấn đã cho, thì phương thức này sẽ trả về tài liệu đầu tiên theo thứ tự tự nhiên phản ánh thứ tự của tài liệu trên đĩa.
Làm cách nào để tìm một trường trong MongoDB?Bạn có thể chọn một trường duy nhất trong MongoDB bằng cú pháp sau. db. yourCollectionName. tìm({"yourFieldName". yourValue},{"yourSingleFieldName". 1,_id. 0});
Sự khác biệt giữa find và findOne là gì?FindOne() trả về tài liệu đầu tiên nếu truy vấn khớp ngược lại trả về null. Phương thức find() không trả về null, nó trả về một con trỏ . Không có tài liệu nào trong bộ sưu tập trên.
Làm cách nào để sử dụng findOne trong MongoDB nodejs?phương thức findOne(). Phương thức findOne() sử dụng tài liệu truy vấn mà bạn cung cấp để chỉ khớp với tập hợp con của các tài liệu trong bộ sưu tập khớp với truy vấn . Nếu bạn không cung cấp tài liệu truy vấn hoặc nếu bạn cung cấp tài liệu trống, MongoDB sẽ so khớp tất cả tài liệu trong bộ sưu tập. |