我必须以某种方式在我的 mongodb 查询中的一个键中设置一个通配符。因此 *.files.FileID
还会检查我文档的以下键:
root.files.FileID
root.folders.0.files.FileID
我的尝试是简单地这样做:db.user_folders.find({ '*.files.FileID' : 6 })
但它没有返回任何结果。
最佳答案
作用于文档字段(与这些字段的值相对)的唯一查询运算符是 $exists
和 $type
运算符。
基本上有两种方法可以从这里开始:
- 重做文档的结构(如果不深入了解您的数据集和用例,很难就此提出建议),从长远来看,这绝对是更好的选择;
- 从 MongoDB 外部的集合和查询字段中手动获取所有文档(仅当您无法修改文档的结构或“仅此一次”的特殊情况时才应使用此方法)。
关于regex - 查询键中的 MongoDB 正则表达式模式或通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28352541/