Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 如何在Mongoose中查找数组字段中没有值的文档?_Node.js_Mongodb_Mongoose_Mongodb Query_Mongoose Schema - Fatal编程技术网

Node.js 如何在Mongoose中查找数组字段中没有值的文档?

Node.js 如何在Mongoose中查找数组字段中没有值的文档?,node.js,mongodb,mongoose,mongodb-query,mongoose-schema,Node.js,Mongodb,Mongoose,Mongodb Query,Mongoose Schema,在Mongoose中,如果模型M具有此字段: list: {type:[String]} 如何查找特定值x不是“列表”元素的文档?我希望有一个特殊的操作员“$ncontains”,以便我可以执行以下操作: M.findOne({list:{$ncontains:x}}... 使用$nin(不在运算符中): 如果$nin数组条件包含单个元素,则可以使用$ne运算符进一步优化: M.findOne({list: {$nin: ['A']}} M.findOne({list: {$ne: 'A'

在Mongoose中,如果模型M具有此字段:

list: {type:[String]}
如何查找特定值x不是“列表”元素的文档?我希望有一个特殊的操作员“$ncontains”,以便我可以执行以下操作:

M.findOne({list:{$ncontains:x}}...
使用
$nin
(不在运算符中):

如果
$nin
数组条件包含单个元素,则可以使用
$ne
运算符进一步优化:

M.findOne({list: {$nin: ['A']}}
M.findOne({list: {$ne: 'A'}}
使用
$nin
(不在运算符中):

如果
$nin
数组条件包含单个元素,则可以使用
$ne
运算符进一步优化:

M.findOne({list: {$nin: ['A']}}
M.findOne({list: {$ne: 'A'}}

你确定这样行吗?关键是,list是一个数组,而x不是。不是相反,是的。它起作用了。你可以试试,你确定这样行吗?关键是,list是一个数组,而x不是。不是相反,是的。它起作用了。您可以尝试匹配“单数”值,MongoDB不关心数据是否在数组中。通常,
$ne
就可以了。如果您有一个数组或单个值字段的“列表”值,则使用多年前编写的
$nin
。但人们还是错了。对于要匹配的“单数”值,MongoDB不关心数据是否在数组中。通常,
$ne
就可以了。如果您有一个数组或单个值字段的“列表”值,则使用多年前编写的
$nin
。但人们还是错了。