在 MongoDB 中搜索子字段?


若要在 MongoDB 中搜索子字段,可以将双引号与点表示法结合使用。我们首先创建一个带有文档的集合 −

> db.searchSubFieldDemo.insertOne(
...   {
...      "UserDetails":
...      {"UserEmailId":"[email protected]","UserAge":21}
...   }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d909edc6604c74817ce2")
}
> db.searchSubFieldDemo.insertOne( { "UserDetails": {"UserEmailId":"[email protected]","UserAge":26} } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d9a4edc6604c74817ce3")
}

以下查询可借助 find() 方法显示集合中的所有文档 −

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

这将生成以下输出 −

{
   "_id" : ObjectId("5cd3d909edc6604c74817ce2"),
   "UserDetails" : {
      "UserEmailId" : "[email protected]",
      "UserAge" : 21
   }
}
{
   "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"),
   "UserDetails" : {
      "UserEmailId" : "[email protected]",
      "UserAge" : 26
   }
}

以下查询用于在 MongoDB 上搜索子字段 −

> db.searchSubFieldDemo.find({"UserDetails.UserEmailId":"[email protected]"});

这将生成以下输出 −

{ "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "[email protected]", "UserAge" : 26 } }

更新于: 2019 年 7 月 30 日

258 次浏览

开始你的 职业生涯

完成课程以获得认证

开始入门
广告