2

我的架构看起来像

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

我想计算p_vars.

认为口译员是JavaScript,我试过 了

db.collection.findOne().p_vars.length

但没有任何回报

答案应该是

考虑到上述情况,答案应该是 2(两个项目name1name2

4

1 回答 1

3

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

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

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

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

于 2012-07-21T00:52:40.037 回答