Ошибка: Аргументы должны быть агрегатными операторами конвейера в aggregate.js - PullRequest
0 голосов
/ 17 октября 2019

Вот следующий агрегат, который выдает ошибку error: Error: Аргументы должны быть агрегированными операторами конвейера:

DAO.aggregate([
{
  $match: {
  $and: [
  { "period": new mongoose.Types.ObjectId(info.pp) },
  { "status": { $in: options._status } },
  { "per": { $ne: new mongoose.Types.ObjectId(info.me) } }
  ]
  }
},
{
  $lookup: {
  from: "pp",
  localField: "per",
  foreignField: "_id",
  as: "per"
}
},
{ $unwind: { path: "$Per" } },
 { $unwind: { path: "$per.Approver" } },
   {
     $lookup: {
     from: 'people',
     localField: 'Per.Approver.per',
     foreignField: '_id',
     as: 'per'
    }
 },
 {
 $match: {
 $and: nameArray
 }
},
{
  $match: {
  $and: approverArray
}
},
{ $sort: sort },
{ $skip: options._skip },
 { $limit: options._limit }
]).allowDiskUse(true).cursor({batchSize:10}).exec((err, entries) => {
let allData = { total: options._limit, entries}

Я получаю следующую ошибку:

error:  Error: Arguments must be aggregate pipeline operators
    at Aggregate.append (/home/ec2-user/app/node_modules/mongoose/lib/aggregate.js:101:11)

New toэта штука. Не уверен, что я что-то упустил?

...