可以在查询中通配符键吗?例如,根据下面的记录,我想做一个.find({'a.*': 4})
{
'a': {
'b': [1, 2],
'c': [3, 4]
}
}
可以在查询中通配符键吗?例如,根据下面的记录,我想做一个.find({'a.*': 4})
{
'a': {
'b': [1, 2],
'c': [3, 4]
}
}
正如所问,这是不可能的.您链接到的服务器问题仍然不到"issues we're not sure of".
MongoDB在使用数组方面有一些智能,我认为这是围绕这样一个特性的复杂性的一部分.
以下面的查询db.foo.find({ 'a.b' : 4 } )
为例.此查询将匹配以下文档.
{ a: { b: 4 } }
{ a: [ { b: 4 } ] }
那么"通配符"在这里做什么呢?db.foo.find( { a.* : 4 } )
与第一份文件相符吗?第二个呢?
此外,这在语义上意味着什么?正如您所描述的,这个查询实际上是"find documents where any field in that document has a value of 4".这有点不寻常.
你有没有想要达到的特定语义?也许文档 struct 的改变会让你得到你想要的查询.