全文搜索和条件

时间:2014-08-13 11:32:29

标签: mongodb full-text-search

是否可以在MongoDB中包含ANDORNOTIN条件和文本搜索?

e.g。

final DBObject textSearchCommand = new BasicDBObject();
textSearchCommand.put("text", "user");
textSearchCommand.put("search", fullTextSearch.text)
textSearchCommand.put("isDeleted", false)\\ this is AND condition here, but this does not work
final CommandResult commandResult = db.command(textSearchCommand);

有没有解决这个问题?

1 个答案:

答案 0 :(得分:0)

你没有清楚地说明你想要对所有字段进行AND操作,或者你想要OR操作中的前两个字段,最后一个字段,即isDeleted是在AND操作中的前两个字段。

我在考虑你想要AND Operation中的所有三个字段

你在mongodb中使用AND,OR运算符来查询全文。

NOTIN即$ nin运算符,您必须使用特定字段。

以下是mongodb中带$和运算符的代码

        final BasicDBList textSearchCommand = new BasicDBList();

       /* List is used to add element  */

        textSearchCommand.add( new BasicDBObject("text", "user"));
        textSearchCommand.add( new BasicDBObject("search", fullTextSearch.text));
        textSearchCommand.add( new BasicDBObject("isDeleted", false));        


        BasicDBObject queryDoc = new BasicDBObject("$and", textSearchCommand);
       /* Above Statement Adds and operator to query */

        final CommandResult commandResult = db.command(queryDoc);

您可以使用$或相同的$和。

NotIn运算符,即$ nin与特定字段一起使用。

以下是链接,您可以使用参考。

和接线员:$and
或运营商:$or
注意运算符:$nin