MongoDB:如何在嵌入式文档中找到项目数?

时间:2012-07-20 22:11:54

标签: javascript mongodb

我的架构看起来像

name:
value:
p_vars: {
    name1: {},
    name2: {},
}

我想计算p_vars中有多少项。

认为口译员是JavaScript,我试过

db.collection.findOne().p_vars.length

但没有任何回报

答案应为

考虑到上述情况,答案应为2(两项name1name2

1 个答案:

答案 0 :(得分:3)

这里最简单的解决方案是更改您的架构以使用p_vars数组,这听起来像你想要的。相反,架构是:

name:
value:
p_vars: [
    name1: {},
    name2: {},
]

然后db.collection.findOne().p_vars.length命令将按预期返回2。

使用原始模式,我认为你唯一的选择是编写一个JS函数来手动迭代和计算元素。