MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Erro do Mongo DB:operador inválido:$ search ao fazer $ pesquisa de texto


No mongo 2.6+ $text funciona da seguinte forma:
db.collection.insert({desc: "This is a string with text"});
db.collection.insert({desc:"This is a another string with Text"});
db.collection.insert({desc:"This is a another string with ext"});
db.collection.ensureIndex({"desc":"text"});
db.collection.find({
    $text:{
        $search:"text"
    }
}); 

Isso dará saída como:
{ "_id" : ObjectId("553277a608b85f33165bf3e0"),
 "desc" : "This is a another string with Text" }

{ "_id" : ObjectId("5532779f08b85f33165bf3df"), 
"desc" : "This is a string with text" }

Além disso, se você estiver usando o mongo versão 2.4, use o seguinte:
 db.collection.ensureIndex({"desc":"text"});
 db.collection.runCommand( "desc", { search: "Text"})