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

Thay thế toán tử $eq trong MongoDB để kiểm tra sự tồn tại trong mảng

Thay vì dùng {$eq: value}, có thể viết trực tiếp {field: value} khi truy vấn mảng - MongoDB tự hiểu là tìm element bằng giá trị đó.

Tạo collection demo145:

> db.demo145.insertOne({"ListOfNames":["Chris","David","Mike"]});
> db.demo145.insertOne({"ListOfNames":["Bob","John"]});

Tìm document có "John" trong ListOfNames (cách viết ngắn gọn thay $eq):

> db.demo145.find({"ListOfNames":"John"});

Kết quả:

{
   "_id" : ObjectId("5e32f384fdf09dd6d08539bc"),
   "ListOfNames" : ["Bob","John"]
}

Giải thích: Khi field là mảng, {field: value} tương đương {field: {$eq: value}} - tìm document có ít nhất một element = value.