簡體   English   中英

聚合返回空數組 - 貓鼬

[英]aggregate returns empty array - mongoose

我有以下兩個簡單的查詢:

Comment.aggregate([{$match: { _id: req.params.id }}])
  .exec(function(err, result) {
    // result is empty
  });

Comment.find({ _id: req.params.id })
  .exec(function (err, result) {
    // correct result returned
  });

我的問題是,聚合函數返回一個空數組。 他們不應該返回相同的結果嗎?

是的,但您需要將 id(這是一個字符串)轉換為 objectID :)

let idToSearch = mongoose.Types.ObjectId(req.params.id)
Comment.aggregate([{$match: { _id: idToSearch }}])
.exec(function(err, result) {
    // result is now correct :)
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM