我在mongodb集合中有数据,其中包含以下格式的字段ID和语音。
{ "speechtext" : "Always be a good boy" },
{ "speechtext" : "Always be a simply guy" },
{ "speechtext" : "Always be a cute boy" },
{ "speechtext" : "I am a girl." }
我必须代表两个关键字获取数据,例如'Always be'和'boy'作为条件,而不是。
如果条件为'和',则搜索结果为关键字'Always be','boy'结果为 -
{ "speechtext" : "Always be a good boy" },
{ "speechtext" : "Always be a cute boy" }
如果条件为'或',则搜索关键字为'Always be','boy'结果为 -
{ "speechtext" : "Always be a good boy" },
{ "speechtext" : "Always be a simply guy" },
{ "speechtext" : "Always be a cute boy" }
如果条件为'not',则搜索关键字为'Always be','boy'结果为 -
{ "speechtext" : "I am a girl." }
我已经解决了'或'条件,如下所示。
db.getCollection('speech').find({"speechtext" : { "$regex" : "Always be|boy"}})
我想查询'和'而不是'条件。
答案 0 :(得分:0)
以下是'或','和'以及'不'顺序查询。
用于或 -
db.getCollection('speech').find({"speechtext" : { "$regex" : "Always be|boy"}})
For和 -
db.getCollection('speech').find({$and:[{"speechtext":{$in:[/'Always be/]}},{"speechtext":{$in:[/boy/]}}]})
不是 -
db.getCollection('speech').find({$or:[{"speechtext":{$nin:[/Always be/]}},{"speechtext":{$nin:[/boy/]}}]})