0

我想计算数组中元素的数量。

问题是.length在这种特定情况下使用 mongoose 方法不起作用find()

我在文档上阅读了这个find()方法返回一个数组(我只选择_idfind()调用的字段)。

返回的数组完全符合语法:[{ _id: 51153212835b351826000001 }]

.length方法适用于它 return undefined。我用 node 做了一些测试,它也不起作用,因为没有quotes封装_id.

此值的类型ObjectId由 提供mongoose。我可以通过这种方式Doc.id毫无问题地访问它。

问题是,这是find()mongoose 方法返回的格式,有没有办法获取回调中找到的元素数量?

我没有在文档中找到它,回调看起来像function(err, Doc),但猫鼬确实在更新回调中提供了这个值,function(error, numAffected) 所以我想知道也许我们也可以使用find().

4

2 回答 2

0

因为这个,我终于使用了count猫鼬方法。

于 2013-02-16T10:09:20.073 回答
0

您在此处显示的语法不是有效的数组文字。更准确地说,这个数组中唯一的元素是一个对象,并且这个对象不是有效的对象字面量,因为 的值_id不是数字。不是b在值范围内。因此,不仅该length属性不起作用,而且该字符串无法评估为有效的 JS 对象。_id需要引用的值。

于 2013-02-14T14:14:20.067 回答