包含特殊字符的Mongo子字段点表示法

时间:2017-10-09 15:21:36

标签: database mongodb

如果我有以下物品:

{
  someMapping: {
     "some key with spaces & special characters": true,
     "simple_key": true
  }
}

如何使用点符号查询找到此文档?换句话说,我如何使用$exists(没有点符号似乎不能很好地发现它)?

我试过了:

> db.mycol.findOne({ someMapping: { "some key with spaces & special characters": { $exists: true } } })
null
> db.mycol.findOne({ someMapping: { simple_key: { $exists: true } } })
null
> db.mycol.findOne({ "someMapping['some key with spaces & special characters']": { $exists: true } })
null
> db.mycol.findOne({ "someMapping.simple_key": { $exists: true } })
true

1 个答案:

答案 0 :(得分:1)

以下应该工作

db.mycol.findOne({ "someMapping.some key with spaces & special characters": 
    { $exists: true } })

mongo docs

的更多信息
db.mycol.findOne({ "someMapping.some key with spaces & special characters": true })

编辑: Mongodb does not support dot和美元符号字段名称

注意:如果字段存在,$ exists返回true。如果要将字段值与true进行比较,请运行