Node.js 在mongodb中,运算符$expr给出了一个问题

Node.js 在mongodb中,运算符$expr给出了一个问题,node.js,database,mongodb,mongoose,Node.js,Database,Mongodb,Mongoose,查询在控制台中工作正常,但在使用nodejs执行时不起作用。我使用的是猫鼬版本4.6.1。这是否也是一个问题 输入:下面是数据库示例输入 { id : ObjectId('5457782478124782374hfyud3eyw'), model_id : 3000, parent_id : 3000, status : 1, createdAt : ISODate("2018-05-30T09:40:10.784Z"), updatedAt : ISODate("2018-05-30T09:4

查询在控制台中工作正常,但在使用nodejs执行时不起作用。我使用的是猫鼬版本4.6.1。这是否也是一个问题

输入:下面是数据库示例输入

{
id : ObjectId('5457782478124782374hfyud3eyw'),
model_id : 3000,
parent_id : 3000,
status : 1,
createdAt : ISODate("2018-05-30T09:40:10.784Z"),
updatedAt : ISODate("2018-05-30T09:40:10.784Z"),
}
查询:以下是查询

[
  {
    $match: {
      status: { $ne: 3 },
      $or: [{ $expr: { $eq: ["$model_id", "$parent_id"] } }, { parent_id: 0 }]
    }
  },
  {
    $group: {
      _id: "$model_id",
      model_id: { $first: "$model_id" },
      make_id: { $first: "$make_id" },
      model_display_name: { $first: "$model_display_name" }
    }
  },
  { $sort: { model_popularity_rank: -1 } }
];

错误:MongoError:未知顶级运算符:$expr

您低于mongodb版本3.6版本是4.0.11。请尝试
将功能兼容版本设置为4.0.11
db.adminCommand({setFeatureCompatibilityVersion:4.0})
谢谢,但遇到同样的错误为什么要使用
expr
?查询中不需要它。另外,请张贴一份输入文档样本。