【发布时间】:2018-07-05 19:29:10
【问题描述】:
我是 mongo 的新手,正在尝试在这个集合中做一个非常简单的查询:
{
"_id" : ObjectId("gdrgrdgrdgdr"),
"administrators" : {
"-HGFsfes" : {
"name" : "Jose",
"phone" : NumberLong(124324)
},
"-HGFsfqs" : {
"name" : "Peter",
"phone" : "+43242342"
}
},
"countries" : {
"-dgfgrdg : {
"lang" : "en",
"name" : "Canada"
},
"-grdgrdg" : {
"lang" : "en",
"name" : "USA"
}
}
}
我如何进行查询以返回名称如“%Jos%”的管理员的结果。
到目前为止我所做的是:db.getCollection('coll').find({ "administrators.name": /Jos/});
以及它的变体。但是我尝试的每件事都返回零结果。
我做错了什么?
提前致谢!
【问题讨论】:
-
您的查询省略了搜索键的
"-HGFsfes"部分。你必须包括在内。所以.find({ "administrators.-HGFsfes.name": /Jos/}) -
但是如何搜索“管理员”中的所有对象?
-
很乱。您可能应该将
administrators改为数组。 -
它不是我的数据库。我不能改变结构