Azure NodeJS - запросить все документы с помощью хранимой процедуры - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь вызвать хранимую процедуру в функции Azure, которая выполняет запрос 'SELECT * from Events c WHERE c.state = "0". Когда я запускаю приведенный ниже код, он говорит, что для этой операции должно быть указано значение PartitionKey. У меня есть тысячи и тысячи ключей разделов, и мне нужно запросить каждый документ. Как бы я поступил так? Я читал о включении перекрестного разделения, но я не могу найти, где это поставить. Это функция Azure или хранимая процедура? Спасибо

client.executeStoredProcedure(databaseUrl + "/colls/Events/sprocs/Events_FindDocs", "null",
    (err, results) => {
        if(err){ 
            context.log(err);
        } else {
            context.log(results);
        }            
    });

1 Ответ

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

Хранимые процедуры не могут выполняться между разделами.

Они относятся к конкретным разделам, поэтому вы не сможете запрашивать все в хранимой процедуре, если ваша коллекция разбита на разделы.

Из документации:

"Если коллекция, для которой зарегистрирована хранимая процедура, является коллекцией с одним разделом, то транзакция распространяется на все документы в коллекции. Если коллекция секционирована, то в транзакции выполняются хранимые процедуры.область действия одного ключа раздела. Каждое выполнение хранимой процедуры должно включать значение ключа раздела, соответствующее области действия, в которой должна выполняться транзакция. "

Подробнее о хранимых процедурах здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...