我有一个带有嵌套json数据的文档。它有15个文本和10个整数数据类型。
如何编写查询,以便显示匹配的任何文本或整数?
我尝试了以下查询,但它没有按预期工作。
db.customers.find({ sno : /ab/ },{ name : /ab/ }).count()
我得到0计数结果。我正在查看OR子句而不是AND子句。
答案 0 :(得分:1)
您可以指定$or
语句中的每个字段:
db.customers.find({$or: [
{field1: /ab/ },
{field2: /ab/ },
{field3: /ab/ },
{field4: /ab/ },
{field5: /ab/ }
]}).count()
您还可以使用文本查询,为此您必须创建文本索引:
db.collection.createIndex( { "$**": "text" } )
然后使用以下方法查询:
db.articles.find( { $text: { $search: "ab" } } )
文字查询 - this document 文字索引 - https://docs.mongodb.com/manual/reference/operator/query/text/