Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tìm tài liệu MongoDB thông qua từ khóa (tìm kiếm văn bản)

Để tìm tài liệu chứa từ khóa cụ thể, sử dụng find() với regex /từ_khóa/i (i = case-insensitive). Tạo collection:

> db.demo212.insertOne({"details":[{"Name":"John Doe"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e2c7603d395bdc21346ff") }
> db.demo212.insertOne({"details":[{"Name":"Chris Brown"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e2c8003d395bdc2134700") }
> db.demo212.insertOne({"details":[{"Name":"Robert doe"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e2c8a03d395bdc2134701") }

Hiển thị tất cả:

> db.demo212.find();

Kết quả:

Tìm tài liệu có từ "doe" trong details.Name (không phân biệt hoa thường):

> db.demo212.find({"details.Name": /doe/i});

Kết quả - khớp "John Doe" và "Robert doe":

Lưu ý: Regex /doe/i tìm chuỗi con "doe" bất kỳ vị trí nào. Để tìm chính xác từ, dùng /\bdoe\b/i. Với dữ liệu lớn, cân nhắc Text Search với text index.