猫鼬查找-排除一份特定文档

时间:2018-09-02 11:26:37

标签: node.js mongodb mongoose

我想通过//Mercury if (document.getElementById("mer").checked && hideMer == false){ hideMer = true; } else if (!(document.getElementById("mer").checked) && hideMer == true){ hideMer = false; } 获取许多文档,但是通过其ID排除一个特定文档。目前,我的查询如下:

Schema.find()

我尝试将Product .find({ $or: [ { 'tags': { $regex: criteria, $options: 'i' }, }, { 'name': { $regex: criteria, $options: 'i' }, }, ], }) .limit(10) .exec((err, similar) => { //... }) 添加到查询中,但这给我一个错误,表明$not: { _id: someId }无效。

1 个答案:

答案 0 :(得分:2)

使用$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) => {
        //...
    })