0
我想返回特定用户拥有的所有记录。我可以得到它的返回值如预期,当我通过服务器端节点使用终端查询MongoDB的,但是当我尝试并获得结果Mongo db Aggregate匹配一个子文档
对象
{ { "_id" : ObjectId("562820793089576b064a4e9c"),
"record" : ObjectId("562813a2d6f390ec585490bb"),
"user" : ObjectId("561c00a49ae9f2e340aa3a6b"),
"AuditItems" : [ ...],
"AuditType" : [ "update" ],
"created" : ISODate("2015-10-21T23:32:09.256Z"),
"__v" : 0 }
当我做这个查询对终端我得到的结果,我想:
db.audits.aggregate([{
$match:{"user":ObjectId("561c00a49ae9f2e340aa3a6b")}},
{ $group: { _id: {$dateToString: { format: "%m/%d/%Y", date: "$created" }}, dataPoints: {$sum: {$size: "$AuditItems"}} } },
{ $sort: { _id: 1 }
}])
结果:
{ "_id" : "10/21/2015", "dataPoints" : 4 }
{ "_id" : "10/22/2015", "dataPoints" : 11 }
{ "_id" : "10/24/2015", "dataPoints" : 1 }
然而,当我使经由服务器侧节点控制器此请求,则返回错误:返回:MongoError:最大调用堆栈大小exceededundefined
db.audits.aggregate([{
$match:{"user":req.user}},
{ $group: { _id: {$dateToString: { format: "%m/%d/%Y", date: "$created" }}, dataPoints: {$sum: {$size: "$AuditItems"}} } },
{ $sort: { _id: 1 }
}])
其中req.user是对象从路径抬头“/ api/user/audits /:userId/edits“
仅供参考我在其他地方使用:userid路径模板成功我也可以简单地删除$ match行并获得成功响应。我莫名其妙地失踪就行了问题:
$match:{"user":req.user}},
可以将其标记是“解决”,如果该问题已得到解决。 – Nattyk