我喜欢MongoDB,并且出现了一些模糊不清的情况,我想知道是否有人曾经见过这个,可能会知道答案:-)。mongo dot notation ambiguity
在蒙戈,伸进子对象,你可以使用点符号,例如:
db.persons.find({ "address.state" : "CA" })
这是很简单的。如何(如果这样做的话)的确蒙戈处理之间的区别:因为点
{
"address" { "state" : "CA" }
}
和
{
"address.state" : "CA"
}
是合法的钥匙,据我所知。此外,我认为,这将是一个合法的文档,以及:
{
"address" { "state" : "A" },
"address.state" : "B"
}
在这种情况下,我可以看到这个查询返回要么"A"
或"B"
:可能出现
db.persons.find({}, {"address.state"}) // all docs selecting address.state as result.
类似的潜在问题我想象使用数组,以及:
{"a":["test"]}
这可能是与访问:
{"a.0"}
当然
{"a" {"0" : "test"} }
这也将是访问和:
{"a.0"}
想法?经验?传统的智慧是不是这样做的?
当你在mongo shell中尝试这些查询时会发生什么? – maerics 2012-04-26 13:22:07