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

Truy vấn nhiều giá trị với toán tử OR trong MongoDB

Sử dụng toán tử $or để truy vấn document thỏa mãn ít nhất một trong các điều kiện.

Tạo collection demo270:

> db.demo270.insertOne({"ClientName":"Chirs","Age":34});
> db.demo270.insertOne({"ClientName":"David","Age":31});
> db.demo270.insertOne({"ClientName":"Bob","Age":31});
> db.demo270.insertOne({"ClientName":"Carol","Age":36});

Hiển thị tất cả:

> db.demo270.find();
{
   "_id" : ObjectId("5e481e371627c0c63e7dbab8"),
   "ClientName" : "Chirs",
   "Age" : 34
}
{
   "_id" : ObjectId("5e481e3d1627c0c63e7dbab9"),
   "ClientName" : "David",
   "Age" : 31
}
{
   "_id" : ObjectId("5e481e431627c0c63e7dbaba"),
   "ClientName" : "Bob",
   "Age" : 31
}
{
   "_id" : ObjectId("5e481e491627c0c63e7dbabb"),
   "ClientName" : "Carol",
   "Age" : 36
}

Truy vấn với $or: ClientName = "Carol" HOẶC Age = 31:

> db.demo270.find({
   "$or" : [
      { "ClientName" : "Carol" },
      { "Age" : 31 }
   ]
});

Kết quả trả về 3 document (David, Bob có Age=31; Carol khớp tên):

{
   "_id" : ObjectId("5e481e3d1627c0c63e7dbab9"),
   "ClientName" : "David",
   "Age" : 31
}
{
   "_id" : ObjectId("5e481e431627c0c63e7dbaba"),
   "ClientName" : "Bob",
   "Age" : 31
}
{
   "_id" : ObjectId("5e481e491627c0c63e7dbabb"),
   "ClientName" : "Carol",
   "Age" : 36
}