如何查找不包含提及的单词的文档?

时间:2018-11-07 11:21:23

标签: mongodb indexing

我是MongoDB的新手,并且遇到了一些问题。我正在尝试删除所有不包含“ happy”一词的文档。我想利用索引来搜索文档,但出现很多错误。

我正在使用名为article的集合。

cursor = db.article.find({ $text: { $search: { '$ne': 'happy' }}})

Error: error: {
    "ok" : 0,
    "errmsg" : "\"$search\" had the wrong type. Expected string, found object",
    "code" : 14,
    "codeName" : "TypeMismatch"
}

cursor = db.article.find({ $text: { $search: { '$not': 'happy' }}})

Error: error: {
    "ok" : 0,
    "errmsg" : "\"$search\" had the wrong type. Expected string, found object",
    "code" : 14,
    "codeName" : "TypeMismatch"
}

我也尝试了下面给出的方法,但是它似乎不起作用。

cursor = db.article.find( { $text: { $search: "-happy" } } )

我如何找到它?有什么建议么?谢谢。

1 个答案:

答案 0 :(得分:0)

如果您需要获取keyhappy不完全相同的所有文档,则可以使用以下查询:

db.article.find({key: {$ne: "happy"}})

如果您需要使用进行过滤,可以使用此

db.article.find({key: {$not: /happy/}})