查询键中的 MongoDB 正则表达式模式或通配符

Fre*_*yer 5 regex database key mongodb

我必须以某种方式在我的 mongodb 查询中的一个键中设置一个通配符。这样*.files.FileID还会检查我的文档的以下键: root.files.FileID root.folders.0.files.FileID

我的尝试只是简单地这样做:db.user_folders.find({ '*.files.FileID' : 6 }) 但它没有返回任何结果。

sil*_*lel 0

作用于文档字段(而不是这些字段的值)的唯一查询运算符是$existsand$type运算符。

基本上有两种方法可以从这里开始:

  • 重新设计您的文档结构(如果不深入了解您的数据集和用例,很难就此提出建议),从长远来看,这绝对是更好的选择;
  • 在 MongoDB 之外手动从集合和查询字段中获取所有文档(仅当您无法修改文档结构或“仅此一次”的极端情况时才应使用此方法)。