【发布时间】:2017-08-21 00:31:15
【问题描述】:
我对 MongoDB 非常陌生,我真的很想了解如何访问并计算我的数据库中我有“name1”(在名称数组中)的所有文档实例。我应该使用什么 - 聚合,查找?我尝试过但一直失败,无法真正找到合适的查询。我的文档示例如下。 我正在使用 PyMongo 作为连接驱动程序。
{
'_id':ObjectId('599983d47fec3323a8526d74'),
'name':[
{
'name1':{
'params':[
{
'a':'b'
}
]
},
{
'name2':{
'params':[
{
'a':'b'
}
]
}
]
}
【问题讨论】:
-
最好真的改变结构,但是
.find({ "name.name1": { "$exists": true }).count()确实有效,尽管没有使用索引,因为 MongoDB 在测试“键”而不是值时不能使用索引。像这样变化的命名键对于数据库来说从来都不是一个好主意。嵌套数组也不是一个好主意。