Я пытаюсь использовать оператор $ in в функции $ match (aggregate). По какой-то причине он не работает в поле '_Id', но я не могу найти никакой документации, отмечающей, что это не поддерживается в mongodb.
var ids = ['1', '2', '3', '4']; //an example. I am using real mongo object ids
// this is working fine
Product.find({_id : {$in : ids}})
.exec(function(err, res){
res.json(res);
});
// no results here
Product.aggregate([
{$match : {_id : {$in : ids}}},
{$group : {_id : '$pCode', total : {$sum : '$pWeight'}}])
.exec(function(err, res){
res.json(res);
Теперь, если я использую другие поля для запроса, он работает нормально, и я получаю желаемый результат, используя $ in. Но по какой-то причине это не работает для поля _id.