Node.js mongoose$match不会返回文档
我使用两种方法从我的收藏中检索文档,第一种是:Node.js mongoose$match不会返回文档,node.js,mongodb,mongoose,match,Node.js,Mongodb,Mongoose,Match,我使用两种方法从我的收藏中检索文档,第一种是: db.comments.find({"nid" : "req.body.data"}); 返回许多文档,如: { "nid" : 20404, "_id" : ObjectId("5638ba331294943d3d0a092b"), "uid" : 1937, "posted" : ISODate("2015-11-03T13:44:19.811Z"), "text" : "txt", "titl
db.comments.find({"nid" : "req.body.data"});
返回许多文档,如:
{
"nid" : 20404,
"_id" : ObjectId("5638ba331294943d3d0a092b"),
"uid" : 1937,
"posted" : ISODate("2015-11-03T13:44:19.811Z"),
"text" : "txt",
"title" : "Test nid 2",
"stars" : 3,
"__v" : 0
}
,,
对于另一个查询,我需要使用聚合和查询:
var pipleline = [
{$match: {nid:req.body.data}}
];
Comments.aggregate(pipleline, function(err, rank){
if(err) {
res.send("Error", String(err));
}
res.send(rank);
});
返回[]-空数组。
有什么想法吗?您可以使用mongoose提供的内置功能链接。除了match,它还有sort、project、group和其他一些我不知道的东西。更多信息
req.body.data的值是多少?数字,它与解析相关吗?检索req.body.data时,需要在那里设置一个值。使用console.log确保保存的是实际的nid。不,这不是问题,日志打印的是相同的内容。因此,如果硬编码值,仍然会得到一个空数组?
Comments.aggregate().match({nid:req.body.data})
.exec(function(err,rank){
if(err) {
res.send("Error", String(err));
}
res.send(rank);
});