我在我的MongoDB实例中创建了一个存储的javascript函数,用于计算每个集合中的记录数。如果我去我的mongo外壳并输入:从Mongoose调用存储的JavaScript函数?
> db.eval("getTotals()");
它按预期工作。如果我尝试通过mongo这样调用它:
totals = mongoose.connection.db.eval("getTotals()");
console.log(totals);
undefined
获取日志记录。有没有人看到我在这里做错了?
在服务器中使用JS函数并不是一个好主意,它是执行任何操作的性能最低的方法。定期查询总是会更快,并且会有不阻塞其他线程的优势。 –
为什么mongo提供了一种方法呢?你能提供一些支持这个的东西吗? –
提供一点上下文:getTotals()从5个不同的集合中获取文档计数。我曾假设在服务器上调用一个函数会比从猫鼬执行5个不同的查询更高效。为什么后者会更快? –