从Mongoose调用存储的javascript函数?

时间:2014-02-14 00:31:08

标签: javascript mongodb mongoose

我在MongoDB实例中创建了一个存储的javascript函数,用于计算每个集合中的记录数。如果我去我的mongo shell并输入:

> db.eval("getTotals()");

它按预期工作。如果我试着通过像这样的mongo来调用它:

totals = mongoose.connection.db.eval("getTotals()");
console.log(totals);

undefined被记录。有谁看到我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

大多数mongoose调用不会像这样返回内联,而是希望传入回调来处理结果。

完全未经测试,但您可能需要以下内容:

mongoose.connection.db.eval("getTotals()", function(err, retVal) {
   console.log(retVal)
});

在现实世界中,将结果分配给该范围之外的var或您想要做的任何事情。