Node.js 在mongodb中,运算符$expr给出了一个问题
查询在控制台中工作正常,但在使用nodejs执行时不起作用。我使用的是猫鼬版本4.6.1。这是否也是一个问题 输入:下面是数据库示例输入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
{
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.11db.adminCommand({setFeatureCompatibilityVersion:4.0})
谢谢,但遇到同样的错误为什么要使用expr
?查询中不需要它。另外,请张贴一份输入文档样本。