Hướng dẫn how do i search for a field in mongodb? - làm cách nào để tìm kiếm một trường trong mongodb?
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show
0
Quan trọngPhương pháp MongoshTrang này ghi lại một phương thức 1. Đây không phải là tài liệu cho các lệnh cơ sở dữ liệu hoặc trình điều khiển dành riêng cho ngôn ngữ, chẳng hạn như Node.js. Để sử dụng lệnh cơ sở dữ liệu, hãy xem lệnh 2. 1 method. This is not the documentation for database commands or language-specific drivers, such as Node.js. To use the database command, see the
2 command.Đối với trình điều khiển API MongoDB, hãy tham khảo tài liệu trình điều khiển MongoDB dành riêng cho ngôn ngữ.MongoDB driver documentation. Đối với tài liệu Shell Legacy 3, hãy tham khảo tài liệu để phát hành máy chủ MongoDB tương ứng:
Chọn các tài liệu trong một bộ sưu tập hoặc xem và trả về con trỏ cho các tài liệu đã chọn.
Quan trọngKhông bắt buộc. Chỉ định các trường để trả về trong các tài liệu phù hợp với bộ lọc truy vấn. Để trả về tất cả các trường trong các tài liệu phù hợp, hãy bỏ qua tham số này. Để biết chi tiết, xem phép chiếu.tùy chọn
Chỉ định bao gồm một trường. Số nguyên khác không cũng được coi là 0.
Sử dụng các toán tử chiếu mảng 7, 8, chỉ định (các) phần tử mảng để bao gồm, do đó loại trừ các phần tử không đáp ứng các biểu thức. (Không có sẵn để xem.)Sử dụng biểu thức toán tử 0, chỉ định bao gồm 1 có sẵn. (Không có sẵn để xem.)
Nếu bạn chỉ định một nghĩa đen không phải là người Boolean (như chuỗi theo nghĩa đen hoặc một mảng hoặc biểu thức toán tử) cho giá trị chiếu, trường được chiếu với giá trị mới; ví dụ.:Projection Examples. Để chiếu một giá trị theo nghĩa đen cho một trường, hãy sử dụng biểu thức tổng hợp 6; ví dụ.: 1 in
1 automatically iterates the cursor to display up to the first 20 documents. Type 3 to continue iteration.Trong các phiên bản 4.2 và sớm hơn, bất kỳ giá trị đặc tả nào (ngoại trừ giá trị tài liệu chưa được hỗ trợ trước đó) được coi là 0 hoặc 1 để chỉ ra sự bao gồm hoặc loại trừ trường.driver language.Mới trong phiên bản 4.4.Đối với các trường trong một tài liệu nhúng, bạn có thể chỉ định trường bằng cách sử dụng: db.bios.find( { birth: { $gt: new Date('1950-01-01') } } ) 5 method.ký hiệu chấm; ví dụ. 2
Truy vấn sau sử dụng 6 để trả về các tài liệu trong đó giá trị của 7 lớn hơn 8.
Truy vấn trả về các tài liệu sau:
Tài liệu có 4 bằng 0 không được trả về vì giá trị 7 của nó thuộc loại 2 trong khi toán hạng 6 thuộc loại 4.Tài liệu có 4 bằng 6 không được trả về vì giá trị 7 của nó thuộc loại 8.Ghi chúMới trong phiên bản 4.0. Đối với con trỏ được tạo trong một phiên, bạn không thể gọi 9 bên ngoài phiên.Tương tự, đối với con trỏ được tạo ra bên ngoài phiên, bạn không thể gọi 9 trong phiên.Bắt đầu từ MongoDB 3.6, Trình điều khiển MongoDB và 1 liên kết tất cả các hoạt động với phiên máy chủ, ngoại trừ các hoạt động ghi không được biết đến. Đối với các hoạt động không được liên kết rõ ràng với một phiên (nghĩa là sử dụng ____102), trình điều khiển MongoDB và 1 tạo một phiên ngầm và liên kết nó với hoạt động. 1 associate all operations with a server
session, with the exception of unacknowledged write operations. For operations not explicitly associated with a session (i.e. using 02), MongoDB drivers and 1 create an implicit session and associate it with the operation.Nếu một phiên nhàn rỗi trong hơn 30 phút, máy chủ MongoDB sẽ đánh dấu phiên đó là hết hạn và có thể đóng nó bất cứ lúc nào. Khi máy chủ MongoDB đóng phiên, nó cũng giết chết mọi hoạt động đang thực hiện và các con trỏ mở liên quan đến phiên. Điều này bao gồm các con trỏ được cấu hình với 04 hoặc 05 lớn hơn 30 phút.Đối với các hoạt động có thể nhàn rỗi trong hơn 30 phút, liên kết hoạt động với một phiên rõ ràng bằng cách sử dụng 02 và định kỳ làm mới phiên bằng lệnh 07. Xem thời gian chờ phiên nhàn rỗi để biết thêm thông tin.db.bios.find( { birth: { $gt: new Date('1950-01-01') } } )
Quan trọngTrong hầu hết các trường hợp, giao dịch đa tài liệu phát sinh chi phí hiệu suất lớn hơn so với ghi tài liệu đơn lẻ và sự sẵn có của các giao dịch đa tài liệu không nên là một sự thay thế cho thiết kế lược đồ hiệu quả. Đối với nhiều kịch bản, mô hình dữ liệu được chuẩn hóa (tài liệu và mảng nhúng) sẽ tiếp tục tối ưu cho các trường hợp dữ liệu và sử dụng của bạn. Đó là, đối với nhiều kịch bản, mô hình hóa dữ liệu của bạn một cách thích hợp sẽ giảm thiểu nhu cầu cho các giao dịch đa tài liệu. Để biết các cân nhắc sử dụng giao dịch bổ sung (như giới hạn thời gian chạy và giới hạn kích thước oplog), xem thêm các cân nhắc sản xuất. Bắt đầu từ MongoDB 4.2, nếu khách hàng phát hành 1 ngắt kết nối trước khi hoạt động hoàn thành, MongoDB đánh dấu 1 để chấm dứt bằng cách sử dụng 13 1 disconnects before the operation completes, MongoDB marks 1 for termination using
13Các ví dụ trong phần này sử dụng các tài liệu từ Bộ sưu tập BIOS trong đó các tài liệu thường có biểu mẫu:
Để tạo và điền vào bộ sưu tập 14, hãy xem Bộ sưu tập ví dụ 14.Phương thức 6 không có tham số trả về tất cả các tài liệu từ bộ sưu tập và trả về tất cả các trường cho các tài liệu. Ví dụ: thao tác sau đây trả về tất cả các tài liệu trong bộ sưu tập BIOS: 6 method with no parameters returns all documents from a collection and returns all fields for the documents. For example, the following operation returns all documents in the
bios collection:
Đối với con trỏ được tạo trong một phiên, bạn không thể gọi 9 bên ngoài phiên. 6 with the 24 parameter.Tương tự, đối với con trỏ được tạo ra bên ngoài phiên, bạn không thể gọi 9 trong phiên.
1 có thể được sử dụng bên trong các giao dịch đa tài liệu.Đối với con trỏ được tạo ra bên ngoài giao dịch, bạn không thể gọi 9 bên trong giao dịch. 0 1 có thể được sử dụng bên trong các giao dịch đa tài liệu.Đối với con trỏ được tạo ra bên ngoài giao dịch, bạn không thể gọi 9 bên trong giao dịch. 1Để biết danh sách các toán tử truy vấn, xem Trình chọn truy vấn. Các ví dụ sau đây truy vấn trường nhúng 20 trong bộ sưu tập BIOS.Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó tài liệu nhúng 20 chính xác là 46, bao gồm cả thứ tự: 2Trường 20 phải khớp chính xác với tài liệu nhúng. Truy vấn không khớp với các tài liệu với các trường 20 sau:not match documents with the following 20 fields: 3Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó tài liệu nhúng 20 chứa một trường 50 với giá trị 51 và trường 19 với giá trị 53. Truy vấn sử dụng ký hiệu DOT để truy cập các trường trong tài liệu nhúng: 4Truy vấn khớp với tài liệu trong đó trường 20 chứa một tài liệu được nhúng với trường 50 với giá trị 51 và trường 19 với giá trị 53. Chẳng hạn, truy vấn sẽ khớp với các tài liệu với các trường 20 nắm giữ một trong các giá trị sau: 5Để biết thêm thông tin và ví dụ, xem thêm Truy vấn trên các tài liệu nhúng/lồng nhau. Các ví dụ sau đây truy vấn mảng 60 trong bộ sưu tập BIOS.
Để biết thêm thông tin và ví dụ về truy vấn một mảng, xem:
Để biết danh sách các toán tử truy vấn cụ thể mảng, xem Array. Các ví dụ sau đây truy vấn mảng 74 trong bộ sưu tập BIOS.
Để biết thêm thông tin và ví dụ về truy vấn một mảng, xem:
Để biết danh sách các toán tử truy vấn cụ thể mảng, xem Array. Các ví dụ sau đây truy vấn mảng 74 trong bộ sưu tập BIOS.projection parameter specifies which fields to return. The parameter contains either include or exclude specifications, not both, unless the exclude is for the 4 field.Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }74 chứa một phần tử với trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }76 bằng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }77:Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng 74 chứa ít nhất một phần tử với cả trường 76 bằng 77 và trường 81 lớn hơn 1980:
Sử dụng toán tử 7 để chỉ định nhiều tiêu chí trên một phần tử mảng. 2Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }74 chứa một phần tử với trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }76 bằng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }77:Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng 74 chứa ít nhất một phần tử với cả trường 76 bằng 77 và trường 81 lớn hơn 1980:Sử dụng toán tử 7 để chỉ định nhiều tiêu chí trên một phần tử mảng. 3Hoạt động sau trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }74 chứa một phần tử với trường { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }76 bằng { "_id": "apples", "qty": 5 }{ "_id": "bananas", "qty": 7 }{ "_id": "oranges", "qty": { "in stock": 8, "ordered": 12 } }{ "_id": "avocados", "qty": "fourteen" }77:Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS trong đó mảng 74 chứa ít nhất một phần tử với cả trường 76 bằng 77 và trường 81 lớn hơn 1980:Sử dụng toán tử 7 để chỉ định nhiều tiêu chí trên một phần tử mảng. 4Tham số chiếu chỉ định các trường nào sẽ trả về. Tham số chứa bao gồm hoặc loại trừ các thông số kỹ thuật, không phải cả hai, trừ khi loại trừ dành cho trường 4. 5Ghi chú 6Trừ khi trường 4 được loại trừ rõ ràng trong tài liệu chiếu 5, trường 4 được trả về. 1 projection can accept
aggregation expressions and syntax.Hoạt động sau đây tìm thấy tất cả các tài liệu trong Bộ sưu tập BIOS và chỉ trả về trường 20, trường 60 và trường 4: 7Để đặt trường 10 thành giá trị 11, thao tác trả về các tài liệu sau: 8MẹoXem thêm:Phương pháp 6 trả về một con trỏ cho kết quả. 6 method returns a
cursor to the results.Trong 1, nếu con trỏ được trả về không được gán cho một biến bằng cách sử dụng từ khóa 14, con trỏ sẽ tự động lặp lại để truy cập vào 20 tài liệu đầu tiên khớp với truy vấn. Bạn có thể đặt biến 15 để thay đổi số lượng tài liệu lặp tự động. 1, if the returned cursor is not assigned to a variable using the 14 keyword, the cursor is automatically iterated to access up to the first 20 documents that match the query. You can set
the 15 variable to change the number of automatically iterated documents.Để lặp theo cách thủ công qua các kết quả, gán con trỏ được trả về cho một biến với từ khóa 14, như được hiển thị trong các phần sau.Ví dụ sau sử dụng biến 17 để lặp lại trên con trỏ và in các tài liệu phù hợp: 9Ví dụ sau sử dụng phương pháp con trỏ 18 để truy cập các tài liệu: 0Để in, bạn cũng có thể sử dụng phương thức 19 thay vì 20: 1Ví dụ sau sử dụng phương pháp con trỏ 21 để lặp lại con trỏ và truy cập các tài liệu: 2
Phương thức 24 đặt hàng các tài liệu trong tập kết quả. Hoạt động sau đây trả về các tài liệu trong bộ sưu tập BIOS được sắp xếp theo thứ tự tăng dần theo trường 20: 3 24 tương ứng với câu lệnh 27 trong SQL.Phương pháp 28 giới hạn số lượng tài liệu trong tập kết quả. Hoạt động sau đây trả về nhiều nhất 18 tài liệu trong bộ sưu tập BIOS: 4 28 tương ứng với câu lệnh 31 trong SQL.Phương pháp 32 kiểm soát điểm bắt đầu của tập kết quả. Hoạt động sau bỏ qua các tài liệu 18 đầu tiên trong bộ sưu tập BIOS và trả về tất cả các tài liệu còn lại:Đối chiếu cho phép người dùng chỉ định các quy tắc cụ thể về ngôn ngữ để so sánh chuỗi, chẳng hạn như các quy tắc cho Lettercase và Dấu nhấn. Phương pháp 34 chỉ định đối chiếu cho hoạt động 1. 1 operation. 5Các báo cáo sau đây chuỗi các phương pháp con trỏ 28 và 24 6Hai tuyên bố là tương đương; tức là thứ tự mà bạn chuỗi các phương pháp 28 và 24 không đáng kể. Cả hai câu lệnh trả về năm tài liệu đầu tiên, như được xác định bởi thứ tự sắp xếp tăng dần trên 'tên'.
Bạn có thể chỉ định các tùy chọn truy vấn để sửa đổi hành vi truy vấn và cho biết cách trả về kết quả. Ví dụ: để xác định các biến mà bạn có thể truy cập ở nơi khác trong phương thức 2, hãy sử dụng tùy chọn 73. Để lọc kết quả bằng cách sử dụng một biến, bạn phải truy cập biến trong toán tử 74.Tạo bộ sưu tập 75: 7Ví dụ sau đây xác định biến 76 trong 73 và sử dụng biến để lấy hương vị bánh sô cô la: 8Output: 9Để xem tất cả các tùy chọn truy vấn có sẵn, xem FindOptions.FindOptions. Làm cách nào để tìm kiếm một trường trong MongoDB?Sử dụng toán tử truy vấn văn bản $ để thực hiện tìm kiếm văn bản trên bộ sưu tập với chỉ mục văn bản. $ text sẽ mã hóa chuỗi tìm kiếm bằng khoảng trắng và hầu hết các dấu chấm câu là dấu phân cách và thực hiện logic hoặc của tất cả các mã thông báo như vậy trong chuỗi tìm kiếm.. $text will tokenize the search string using whitespace and most punctuation as delimiters, and perform a logical OR of all such tokens in the search string.
Làm cách nào để lọc một trường trong MongoDB?Trong trường Bộ lọc, nhập một tài liệu bộ lọc.Bạn có thể sử dụng tất cả các toán tử truy vấn MongoDB ngoại trừ các toán tử $ text và $ expr.Thí dụ.Bộ lọc sau chỉ trả về các tài liệu có giá trị quốc gia của Brazil: {quốc gia: "Brazil"}. Nhấp vào Tìm để chạy truy vấn và xem kết quả cập nhật.Bấm để phóng to .. Làm cách nào để tạo một tìm kiếm trong MongoDB?Trong MongoDB, chúng ta có thể thực hiện tìm kiếm văn bản bằng cách sử dụng chỉ mục văn bản và toán tử văn bản.Chỉ mục văn bản: MongoDB đã chứng minh các chỉ mục văn bản được sử dụng để tìm văn bản được chỉ định từ nội dung chuỗi.Các chỉ mục văn bản phải là một chuỗi hoặc một mảng các phần tử chuỗi.using text index and $text operator. Text index: MongoDB proved text indexes that are used to find the specified text from the string content. Text indexes should be either a string or an array of string elements.
Làm cách nào để tìm kiếm một từ trong MongoDB?MongoDB có thể hỗ trợ tìm kiếm từ khóa bằng các mô hình dữ liệu cụ thể và các chỉ mục đa khóa;Tuy nhiên, các chỉ mục từ khóa này không đủ hoặc có thể so sánh với các sản phẩm toàn văn trong các khía cạnh sau: xuất phát.Các truy vấn từ khóa trong MongoDB không thể phân tích các từ khóa cho gốc hoặc các từ liên quan.using specific data models and multi-key indexes; however, these keyword indexes are not sufficient or comparable to full-text products in the following respects: Stemming. Keyword queries in MongoDB can not parse keywords for root or related words. |