Node.js 环回上的MongoDB聚合
如何获取环回PersistedModel的和 关于如何实现这一点,似乎没有什么明确的答案 如果可能,我希望避免在Node.js中查找所有行并求和 更新 试一试 我犯了个错误Node.js 环回上的MongoDB聚合,node.js,mongodb,loopbackjs,Node.js,Mongodb,Loopbackjs,如何获取环回PersistedModel的和 关于如何实现这一点,似乎没有什么明确的答案 如果可能,我希望避免在Node.js中查找所有行并求和 更新 试一试 我犯了个错误 throw new Error('MongoDB connection is not established'); 如何获得集合的句柄以手动在MongoDB集合上运行聚合查询?最终成功地使其工作。大多数示例都省略了connect()部分 我的工作代码: Book.getDataSource().connector.conn
throw new Error('MongoDB connection is not established');
如何获得集合的句柄以手动在MongoDB集合上运行聚合查询?最终成功地使其工作。大多数示例都省略了
connect()
部分
我的工作代码:
Book.getDataSource().connector.connect(function(err, db) {
var collection = db.collection('Book');
var author = Book.getDataSource().ObjectID(authorId);
collection.aggregate([
{ $match: { authorId: author } },
{ $group: {
_id: authorId,
total: { $sum: "$price" }
}}
], function(err, data) {
if (err) return callback(err);
return callback(null, data);
});
});
带环回的聚合查询
Products.getDataSource().connector.connect(function(err, db) {
var collection = db.collection('Products');
collection.aggregate(
[{ $match: { "productCode" : "WIN10-NoOS" } }]
).toArray(function(err,servicesData){
if(err){
}else{
cb(null,servicesData);
}
});
});
也看到了,有人有办法解决这个问题吗?即使是非环回方式,也不需要连接。我的代码与Thank you@uzyn!我认为在某些情况下,模型可能没有连接,这只是为了以防万一。嘿,我得到了一个错误,比如聚合不是函数。你能帮我一下吗?你函数中的数据对象是什么格式的?当我尝试登录时,它是AggregateCoursor,我真的不知道如何正确地从中获取数据。我看到您直接将其传递给回调。它有用吗?
Products.getDataSource().connector.connect(function(err, db) {
var collection = db.collection('Products');
collection.aggregate(
[{ $match: { "productCode" : "WIN10-NoOS" } }]
).toArray(function(err,servicesData){
if(err){
}else{
cb(null,servicesData);
}
});
});