Mongoose查找-排除一个特定文档

mwg9r5ms  于 2023-08-06  发布在  Go
关注(0)|答案(2)|浏览(105)

我想通过Schema.find()获取多个文档,但通过id排除一个特定文档。目前,我的查询看起来像:

Product
    .find({
        $or: [
            { 'tags': { $regex: criteria, $options: 'i' }, },
            { 'name': { $regex: criteria, $options: 'i' }, },
        ],
    })
    .limit(10)
    .exec((err, similar) => {
        //...
    })

字符串
我试图将$not: { _id: someId }添加到查询中,但这给了我一个错误,即$not ist无效。

rsaldnfx

rsaldnfx1#

使用$ne,代表not equal

Product.find({ _id: {$ne: someId}})

字符串
所以整个查询看起来像

Product
    .find({
        $and: [
             { _id: {$ne: someId} },
             { $or: [
                   { 'tags': { $regex: criteria, $options: 'i' }, },
                   { 'name': { $regex: criteria, $options: 'i' }, },
             ]},
         ]
    })
    .limit(10)
    .exec((err, similar) => {
        //...
    })

31moq8wy

31moq8wy2#

在 Mongoose 中不等于多个ID。

const products = await Product.find({
  _id: { $nin: [id1, id2, id3] },
});

字符串

相关问题