Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用MongoDB聚合函数找不到正确的值_Node.js_Mongodb_Aggregate - Fatal编程技术网

Node.js 使用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值是在我需要其他

我需要使用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
值是在我需要其他用户输入
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)}}]}}
]);