例如,我们有收集
{field: {subfield: 'name'}}
{field: {subfield: 'phone'}}
Run Code Online (Sandbox Code Playgroud)
我可以找到没有点符号的文档吗?像这样
db.test.find({field: {subfield: /regex/}})
Run Code Online (Sandbox Code Playgroud)
或者像这样
db.test.find({field: {$someOperator: {subfield: /regex/}}})
Run Code Online (Sandbox Code Playgroud)
我只是不想像点那样构建点符号
db.test.find({"field.subfield": /regex/})
Run Code Online (Sandbox Code Playgroud)
问题是:
db.test.find({field: {$someOperator: {subfield: /regex/}}})
Run Code Online (Sandbox Code Playgroud)
实际上是在MongoDB中查询的另一种方法,它使用对象euqality来搜索子文档.
所以不,你必须使用点符号,除非你在寻找一个对象与另一个完全相等的位置.
这就是说,你可以换文档$elemMatch:http://docs.mongodb.org/manual/reference/operator/elemMatch/,将工作
考虑到你的集合结构$elemMatch实际上不会起作用.
| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |