Node.js 使用MongoDB聚合函数找不到正确的值
我需要使用MongoDB聚合函数根据一些用户输入获取值,但在我的情况下,我无法返回正确的值。这是我的密码:Node.js 使用MongoDB聚合函数找不到正确的值,node.js,mongodb,aggregate,Node.js,Mongodb,Aggregate,我需要使用MongoDB聚合函数根据一些用户输入获取值,但在我的情况下,我无法返回正确的值。这是我的密码: var cname=req.body.cname; var id=req.body.id; Company.collection.aggregate([ { $match:{$and:[{cname:cname},{_id:{$ne:id}}]}} ]) 我需要通过比较cname值来获取这些值,并且\u id不等于给定的id。但在我的情况下,用户输入id值是在我需要其他
var cname=req.body.cname;
var id=req.body.id;
Company.collection.aggregate([
{ $match:{$and:[{cname:cname},{_id:{$ne:id}}]}}
])
我需要通过比较
cname
值来获取这些值,并且\u id
不等于给定的id。但在我的情况下,用户输入id
值是在我需要其他用户输入id
文档的地方获取的。您需要更改查询,如下所述:
Company.collection.aggregate([
{ $match:{$and:[{cname:cname},{$ne:{_id:id}}]}}
]);
看看是否有帮助 您可以尝试下面的代码
const ObjectId = require('mongodb').ObjectId;
Company.collection.aggregate([
{$match : {$and: [{cname:cname},{$ne:{'_id':ObjectId(id)}}]}}
]);