我需要使用MongoDB聚合函数根据某些用户输入获取值,但是在我的情况下,我无法返回正确的值。这是我的代码:
var cname=req.body.cname;
var id=req.body.id;
Company.collection.aggregate([
{ $match:{$and:[{cname:cname},{_id:{$ne:id}}]}}
])
我需要通过比较cname
值和_id
不等于给定id来获取那些值。但是就我而言,用户输入id
的值是在需要其他用户输入id
文档的地方获取的。
答案 0 :(得分:0)
您需要按如下所述更改查询:
Company.collection.aggregate([
{ $match:{$and:[{cname:cname},{$ne:{_id:id}}]}}
]);
看看是否有帮助!
答案 1 :(得分:0)
您可以尝试以下代码。
const ObjectId = require('mongodb').ObjectId;
Company.collection.aggregate([
{$match : {$and: [{cname:cname},{$ne:{'_id':ObjectId(id)}}]}}
]);