как конвертировать облачный запрос в нано поиск - PullRequest
0 голосов
/ 16 октября 2018

У меня есть этот запрос в облачной базе данных, но бэкэнд использует var db = nano.db.use (process.env.DB_NAME || '');который не поддерживает db.find, но поддерживает db.search.как я могу преобразовать этот запрос в параметр поиска?

var queryPifLog = {
        "selector": {
            "type": "piflog",
            "supplier_name": "1234",
            "region": {
                "$in": [
                    "ANZ",
                    "GCG"
                ]
            },
            "assign_datetime":{
                "$gt":assignedDate
            },
            "closure_datetime":{
                "$lt": closedData
            },

            "pif_owner": {
                "$in": [
                    "haha@163.com"
                ]
            }
        },
        "fields": [
            "operation",
            "operator",
            "type",
            "region",
            "country",
            "supplier_name",
            "operation_time",
            "pif_owner"
        ]
    };

1 Ответ

0 голосов
/ 22 октября 2018

Нано-библиотека поддерживает db.find, так что это нормально.См. Документацию здесь: https://www.npmjs.com/package/nano#dbfindselector-callback

Если бы вы использовали Cloudant Search, вам пришлось бы использовать язык запросов на основе Lucene.Эквивалент Cloudant Search для указанного выше запроса будет выглядеть примерно так:

q=type:piflog AND supplier_name:1234 AND (region:ANZ OR region:GCG) AND assign_datetime:(2018-01-01 TO *) AND closedData:(* TO 2018-10-22) AND pif_owner:haha@163.com

, если вы правильно проиндексировали поля.

...