MongoDB 同一 key 上的多個 OR 條件?


為此,只需使用 $ 一次。讓我們建立一個帶有文件的集合 -

> db.demo551.insertOne({"Name":"John"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8e36d39e5f92834d7f05e5")
}
> db.demo551.insertOne({"Name":"Chris Brown"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8e36d89e5f92834d7f05e6")
}
> db.demo551.insertOne({"Name":"John Doe"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8e36de9e5f92834d7f05e7")
}
> db.demo551.insertOne({"Name":"John Smith"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8e36e59e5f92834d7f05e8")
}
> db.demo551.insertOne({"Name":"Carol"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e8e36ec9e5f92834d7f05e9")
}

使用 find() 方法從集合中顯示所有文件 -

> db.demo551.find();

這將產生以下輸出 -

{ "_id" : ObjectId("5e8e36d39e5f92834d7f05e5"), "Name" : "John" }
{ "_id" : ObjectId("5e8e36d89e5f92834d7f05e6"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5e8e36de9e5f92834d7f05e7"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e8e36e59e5f92834d7f05e8"), "Name" : "John Smith" }
{ "_id" : ObjectId("5e8e36ec9e5f92834d7f05e9"), "Name" : "Carol" }

以下是針對同一 key 實現 OR 條件的查詢 -

> db.demo551.find({$or:[
...       {"Name" : {$eq : "Carol"}},
...       {Name: {$eq:"John"}}
...    ]
... });

這將產生以下輸出 -

{ "_id" : ObjectId("5e8e36d39e5f92834d7f05e5"), "Name" : "John" }
{ "_id" : ObjectId("5e8e36ec9e5f92834d7f05e9"), "Name" : "Carol" }

更新於:14-05-2020

2000+ 次瀏覽

開啟你的 事業之路

透過完成課程獲得認證

開始
廣告
© . All rights reserved.