我在mongoose中遇到一个小问题,我想要选择除指定ID之外的所有行。
我的代码例如:
var ids = [{id: 123},{id: 222},{id:333}];
User.find({_id: {$ne: ids.id }},'firstName lastName _id avatar',function (err,users) {...});
确切问题: 我有一个包含许多用户ID的变量,我想只选择没有这些ID的用户。
答案 0 :(得分:2)
我们将使用来自mongodb的$nin,从结果中排除给定的数组。
我们执行地图以获得像[123, 222, 333]
const ids = [
{
id: 123,
}, {
id: 222,
}, {
id: 333,
}];
User.find(
// Query
{
_id: {
$nin: ids.map(x => x.id),
},
},
// Projection
'firstName lastName _id avatar',
// Callback
function (err,users) {...});