2016-12-19 3 views
0

Я хочу использовать запрос Cloudant Query, чтобы получить все документы, поскольку указанное поле сопоставляется со строкой (аналогично SQL «LIKE»), но я просто не могу понять как это сделать.Текст запроса Cloudant Текст запроса «LIKE» в одном поле

Я понимаю, что могу использовать индекс поиска для этой цели, но я хотел бы узнать это решение, используя запрос Cloudant Query.

ответ

0

Вы можете использовать оператор $regex, который позволяет использовать шаблон регулярного выражения. Например,

{ 
    "selector": { 
     "person": { 
      "$regex": "Rob" 
     } 
    }, 
    "fields": [ 
     "person" 
    ] 
} 

Дополнительная информация:
https://docs.cloudant.com/cloudant_query.html#condition-operators

+0

Привет, спасибо за помощь. Что делать, если я хочу выполнить поиск по двум полям в документах с заданной строкой? Я не могу использовать {"index": {}, "type": "text"}, так как я буду искать через весь документ. –

0

Для поиска нескольких полей, вы можете использовать комбинации операторов Cloudant Query, например:

{ 
    "selector": { 
    "$or": [ 
     { "person": { "$regex": "Rob" }}, 
     { "pet": { "$regex": "Rob" }} 
    ] 
    }, 
    "fields": [ 
    "person", 
    "pet" 
    ] 
} 

Для получения дополнительной информации см https://docs.cloudant.com/cloudant_query.html#combination-operators