如何實現 MongoDB $or 查詢?


MongoDB 中 $or 查詢的語法如下 −

db.yourCollectionName.find({ $or : [ { "yourFieldName" : "yourValue1" }, {"yourFieldName":"yourValue2"},...........N ] } ).pretty();

為了理解這個概念,讓我們建立一個帶有文件的集合。建立帶文件的集合的查詢如下 −

> db.orDemo.insertOne({"UserName":"Larry","UserAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9491fd4cf1f7a64fa4df4c")
}
> db.orDemo.insertOne({"UserName":"David","UserAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9492074cf1f7a64fa4df4d")
}
> db.orDemo.insertOne({"UserName":"Mike","UserAge":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c94920e4cf1f7a64fa4df4e")
}
> db.orDemo.insertOne({"UserName":"Sam","UserAge":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9492144cf1f7a64fa4df4f")
}
> db.orDemo.insertOne({"UserName":"Carol","UserAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c94921d4cf1f7a64fa4df50")
}
> db.orDemo.insertOne({"UserName":"Bob","UserAge":22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c94922c4cf1f7a64fa4df51")
}

使用 find() 方法顯示來自集合的所有文件。查詢如下 −

> db.orDemo.find().pretty();

以下是輸出

{
   "_id" : ObjectId("5c9491fd4cf1f7a64fa4df4c"),
   "UserName" : "Larry",
   "UserAge" : 23
}
{
   "_id" : ObjectId("5c9492074cf1f7a64fa4df4d"),
   "UserName" : "David",
   "UserAge" : 21
}
{
   "_id" : ObjectId("5c94920e4cf1f7a64fa4df4e"),
   "UserName" : "Mike",
   "UserAge" : 25
}
{
   "_id" : ObjectId("5c9492144cf1f7a64fa4df4f"),
   "UserName" : "Sam",
   "UserAge" : 20
}
{
   "_id" : ObjectId("5c94921d4cf1f7a64fa4df50"),
   "UserName" : "Carol",
   "UserAge" : 24
}
{
   "_id" : ObjectId("5c94922c4cf1f7a64fa4df51"),
   "UserName" : "Bob",
   "UserAge" : 22
}

以下是 $or 查詢

> db.orDemo.find({ $or : [ { "UserName" : "Carol" }, {"UserName":"Larry"} ] } ).pretty();

以下是輸出

{
   "_id" : ObjectId("5c9491fd4cf1f7a64fa4df4c"),
   "UserName" : "Larry",
   "UserAge" : 23
}
{
   "_id" : ObjectId("5c94921d4cf1f7a64fa4df50"),
   "UserName" : "Carol",
   "UserAge" : 24
}

更新於: 30-Jul-2019

117 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.