如何使用MongoDB db.coll.find()根据内部类中的字段进行搜索?
使用点表示法(。)在MongoDB中搜索内部类。首先让我们创建一个包含文档的集合-
> db.searchInInnerDemo.insertOne(
... {
... "StudentFirstName" : "Robert",
... "StudentTechnicalDetails":
... {
... "StudentBackEndTechnology" : "MongoDB",
... "StudentLanguage" : "Java"
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2dd89b64f4b851c3a13d2")
}
>
> db.searchInInnerDemo.insertOne(
... {
... "StudentFirstName" : "David",
... "StudentTechnicalDetails":
... {
... "StudentBackEndTechnology" : "MySQL",
... "StudentLanguage" : "PHP"
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2dda3b64f4b851c3a13d3")
}以下是在find()方法的帮助下显示集合中所有文档的查询-
> db.searchInInnerDemo.find().pretty();
这将产生以下输出-
{
"_id" : ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName" : "Robert",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MongoDB",
"StudentLanguage" : "Java"
}
}
{
"_id" : ObjectId("5cd2dda3b64f4b851c3a13d3"),
"StudentFirstName" : "David",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MySQL",
"StudentLanguage" : "PHP"
}
}情况1-在内部类中搜索以仅匹配一个属性的查询-
>db.searchInInnerDemo.find({"StudentTechnicalDetails.StudentBackEndTechnology":"MongoDB"}).pretty();这将产生以下输出-
{
"_id" : ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName" : "Robert",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MongoDB",
"StudentLanguage" : "Java"
}
}情况2-查询以扫描完整字段名称搜索文档-
>db.searchInInnerDemo.find({"StudentTechnicalDetails":{"StudentBackEndTechnology":"MongoDB","StudentLanguage":"Java"}}).pretty();这将产生以下输出-
{
"_id" : ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName" : "Robert",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MongoDB",
"StudentLanguage" : "Java"
}
}热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短