在 MongoDB 中搜索子欄位?


若要在 MongoDB 中搜索子欄位,可以將雙引號與點表示法結合使用。我們首先建立一個帶有文件的集合 −

> db.searchSubFieldDemo.insertOne(
...   {
...      "UserDetails":
...      {"UserEmailId":"John123@gmail.com","UserAge":21}
...   }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d909edc6604c74817ce2")
}
> db.searchSubFieldDemo.insertOne( { "UserDetails": {"UserEmailId":"Carol@yahoo.com","UserAge":26} } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d9a4edc6604c74817ce3")
}

以下查詢可藉助 find() 方法顯示集合中的所有文件 −

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

這將生成以下輸出 −

{
   "_id" : ObjectId("5cd3d909edc6604c74817ce2"),
   "UserDetails" : {
      "UserEmailId" : "John123@gmail.com",
      "UserAge" : 21
   }
}
{
   "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"),
   "UserDetails" : {
      "UserEmailId" : "Carol@yahoo.com",
      "UserAge" : 26
   }
}

以下查詢用於在 MongoDB 上搜索子欄位 −

> db.searchSubFieldDemo.find({"UserDetails.UserEmailId":"Carol@yahoo.com"});

這將生成以下輸出 −

{ "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "Carol@yahoo.com", "UserAge" : 26 } }

更新於: 2019 年 7 月 30 日

258 次瀏覽

開始你的 職業生涯

完成課程以獲得認證

開始入門
廣告
© . All rights reserved.