简体   繁体   中英

Find doc from field having all specified words

I've problem to find the good document search request do find all documents containing in their 'name' field all the specified values.

I've this document:

{
    "_id" : ObjectId("607c1caa4b2964d0185301ff"),
    "nb" : 1,
    "name" : "mini computer 24GB"
}

When I run the following find request...

db.getCollection('test').find({"$text":{$search:'computer dummy'}})

... the document is returned. An OR is done but I want a AND operation. Should I use a list of $and?

Many thanks

I've problem to find the good document search request do find all documents containing in their 'name' field all the specified values.

I've this document:

{
    "_id" : ObjectId("607c1caa4b2964d0185301ff"),
    "nb" : 1,
    "name" : "mini computer 24GB"
}

When I run the following find request...

db.getCollection('test').find({"$text":{$search:'computer dummy'}})

... the document is returned. An OR is done but I want a AND operation. Should I use a list of $and?

Many thanks

Ok I found. each word must be in quotes as this:

db.getCollection('test').find({$text:{$search:"\"computer\"  \"24GB\""}})

Not really intuitive!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM