gpt4 book ai didi

node.js - 使用 mongoskin 聚合查询

转载 作者:可可西里 更新时间:2023-11-01 09:55:47 25 4
gpt4 key购买 nike

我想用 mongoskin 运行以下查询,但似乎不支持聚合

mongodb查询

db.users.aggregate({
$match : {
_id : ObjectId("52ee0844177c86dc1d000001")
}
}, {
$unwind : "$todos"
}, {
$unwind : "$todos.tags"
}, {
$group : {
_id : "$todos.tags",
count : {
$sum : 1
}
}
});

javascript mongoskin 代码不工作

var tags = db.collection('users').aggregate({
$match : {
_id : db.bson_serializer.ObjectID.createFromHexString(req.user._id.toString())
}
}, {
$unwind : "$todos"
}, {
$unwind : "$todos.tags"
}, {
$group : {
_id : "$todos.tags",
count : {
$sum : 1
}
}
});

mongoskin如何使用骨料?

编辑

当我调用 console.log("%j", tags); 我得到

TypeError: Converting circular structure to JSON
at Object.stringify (native)
at K:\home\projects\todo\routes\tags.js:22:20
at callbacks (K:\home\projects\todo\node_modules\express\lib\router\index.js:164:37)
at param (K:\home\projects\todo\node_modules\express\lib\router\index.js:138:11)
at pass (K:\home\projects\todo\node_modules\express\lib\router\index.js:145:5)
at Router._dispatch (K:\home\projects\todo\node_modules\express\lib\router\index.js:173:5)
at Object.router (K:\home\projects\todo\node_modules\express\lib\router\index.js:33:10)
at next (K:\home\projects\todo\node_modules\express\node_modules\connect\lib\proto.js:193:15)
at Object.ensureAuthenticated [as handle] (K:\home\projects\todo\services\middleware.js:13:11)
at next (K:\home\projects\todo\node_modules\express\node_modules\connect\lib\proto.js:193:15)

events.js:72
throw er; // Unhandled 'error' event
^
TypeError: object is not a function
at K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\collection.js:1611:7
at K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\db.js:940:5
at Cursor.nextObject (K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\cursor.js:678:5)
at commandHandler (K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\cursor.js:658:14)
at K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\db.js:1670:9
at Server.Base._callHandler (K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\connection\base.js:382:41)
at K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\connection\server.js:472:18
at MongoReply.parseBody (K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\responses\mongo_reply.js:68:5)
at null.<anonymous> (K:\home\projects\todo\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\connection\server.js:430:20)
at EventEmitter.emit (events.js:95:17)

最佳答案

检查json结构!聚合在比赛结束后立即关闭。取而代之的是,将参数聚合为一个数组:

db.collection('users').aggregate([{
$match : {
_id : db.bson_serializer.ObjectID.createFromHexString(req.user._id.toString())
}
}]);

检查 documentation .

关于node.js - 使用 mongoskin 聚合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com