检索数组字段的长度而不是它在Mongoose中的值

时间:2015-07-28 18:06:50

标签: javascript node.js mongodb mongoose

我在Mongoose中使用Node.js开展了一个项目。我有这种格式的文件:

{
  username:"user1",
  name:"joun",
  books:[4,12,34,5,13]
}

我使用find方法获取它们。它有效,但我有一个问题。我希望得到books字段的长度而不是它的数据。我在网上做了很多研究,发现MongodbMongoose在关系数据库的比较中有一些限制(没有加入' s)。最后我发现有两种方法可以做到这一点,但我认为这两种方法都很慢而且不是最佳的。

1-在获取结果后,在forEach循环中,计算books字段的长度并将该值替换为主值

在获取结果之后

2-,使用mongodb Aggregation框架我必须做一些工作来计算它。但似乎这种方法非常昂贵。

我的服务器负载很重,我认为这两种方法可能是我的架构的瓶颈。

我没有其他选择吗?我需要更快,更标准的方法来做到这一点。有人说你必须使用像postgres这样的关系数据库,但我不能。对于我来说,问题是join中缺少某些功能,例如mongodb,我们能否以适当的方式做所有事情?我的问题就是一个例子!

0 个答案:

没有答案