我在Mongoose
中使用Node.js
开展了一个项目。我有这种格式的文件:
{
username:"user1",
name:"joun",
books:[4,12,34,5,13]
}
我使用find方法获取它们。它有效,但我有一个问题。我希望得到books
字段的长度而不是它的数据。我在网上做了很多研究,发现Mongodb
和Mongoose
在关系数据库的比较中有一些限制(没有加入' s)。最后我发现有两种方法可以做到这一点,但我认为这两种方法都很慢而且不是最佳的。
1-在获取结果后,在forEach
循环中,计算books
字段的长度并将该值替换为主值
2-,使用mongodb
Aggregation
框架我必须做一些工作来计算它。但似乎这种方法非常昂贵。
我的服务器负载很重,我认为这两种方法可能是我的架构的瓶颈。
我没有其他选择吗?我需要更快,更标准的方法来做到这一点。有人说你必须使用像postgres这样的关系数据库,但我不能。对于我来说,问题是join
中缺少某些功能,例如mongodb
,我们能否以适当的方式做所有事情?我的问题就是一个例子!