在 MongoDB 中查詢巢狀搜尋


對於巢狀搜尋,使用 $and 和 $or。我們首先建立一個帶文件的集合 −

> db.demo12.insertOne({"Name":"Chris","Age":23,"CountryName":"US","Message":"Hello"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f70a2d7df943a7cec4fa2")
}
> db.demo12.insertOne({"Name":"David","Age":21,"CountryName":"US","Message":"Hello"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f70acd7df943a7cec4fa3")
}
> db.demo12.insertOne({"Name":"Bob","Age":23,"CountryName":"AUS","Message":"Hi"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f70bad7df943a7cec4fa4")
}
> db.demo12.insertOne({"Name":"Carol","Age":24,"CountryName":"US","Message":"Hi"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f70c7d7df943a7cec4fa5")
}

下面是使用 find() 方法從集合中顯示所有文件的查詢 −

> db.demo12.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5e0f70a2d7df943a7cec4fa2"), "Name" : "Chris", "Age" : 23, "CountryName" : "US", "Message" : "Hello" }
{ "_id" : ObjectId("5e0f70acd7df943a7cec4fa3"), "Name" : "David", "Age" : 21, "CountryName" : "US", "Message" : "Hello" }
{ "_id" : ObjectId("5e0f70bad7df943a7cec4fa4"), "Name" : "Bob", "Age" : 23, "CountryName" : "AUS", "Message" : "Hi" }
{ "_id" : ObjectId("5e0f70c7d7df943a7cec4fa5"), "Name" : "Carol", "Age" : 24, "CountryName" : "US", "Message" : "Hi" }

以下是 MongoDB 巢狀搜尋的查詢 −

> db.demo12.find({ $and : [ { Name : 'Bob' }, { Age : 23 }, { $or : [ { CountryName : 'UK' }, { Message : 'Hi' } ] } ] } );

這將產生以下輸出 −

{ "_id" : ObjectId("5e0f70bad7df943a7cec4fa4"), "Name" : "Bob", "Age" : 23, "CountryName" : "AUS", "Message" : "Hi" }

更新於: 2020 年 4 月 1 日

184 次觀看

開啟您的 職業生涯

完成課程並獲得認證

開始
廣告