N1QL — вставка-выбор

Я пытаюсь выполнить insert-select в N1QL (вставка документов о том, что их ключ/значение являются результатом оператора select), и я не понимаю синтаксиса.

Я попытался выполнить:

insert into tempbucket (KEY payload.id,VALUE select * from default where payload.fooId in [100,101 ] )  RETURNING * ;

в некоторых вариациях, но ничего не получалось.

Изменить: оператор SELECT

выберите * по умолчанию, где payload.fooId в [100,101]

КЛЮЧ документов, которые я хочу создать, — это значение поля key, а ЗНАЧЕНИЕ — это весь JSON оператора SELECT, упомянутого выше.


person shays10    schedule 19.06.2016    source источник
comment
Пожалуйста, отредактируйте свой вопрос и выделите следующие 3 вещи: оператор SELECT, который будет использоваться в качестве вашего источника; часть SELECT, которая будет использоваться как KEY; часть SELECT, которая будет использоваться как VALUE. Пожалуйста, поместите каждый в отдельный абзац для ясности.   -  person geraldss    schedule 19.06.2016


Ответы (1)


КЛЮЧ и ЗНАЧЕНИЕ должны ссылаться на выражения из вашего запроса.

INSERT INTO tempbucket (KEY d.`key`, VALUE d)
SELECT d
FROM default d
WHERE payload.fooId IN [100,101 ]
;
person geraldss    schedule 19.06.2016