Почему в ArangoDB module.context.collection возвращает значение null

Я пытаюсь научиться разрабатывать сервисы Foxx.

Есть много примеров, когда люди используют:

const someCollection = module.context.collection('someCollectionName');

Но в моем проекте этот код не работает. someCollection всегда имеет значение null, но существует в коллекциях.

И этот код работает отлично:

const db = require('@arangodb').db;
const someCollection = db._collection('someCollectionName');

Мой вопрос: почему первый код не работает?


person MrDuDuDu    schedule 26.12.2017    source источник
comment
Пожалуйста, предоставьте больше контекста в соответствии с рекомендациями (stackoverflow.com/help/mcve). Следовали ли вы инструкциям на странице docs.arangodb.com/3.3/Manual/Foxx/ Контекст.html ? Каково ваше требование?   -  person peak    schedule 27.12.2017


Ответы (1)


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

Таким образом, module.context.collection('someCollectionName'); даст вам коллекцию с префиксом точки монтирования вашей службы Foxx, где db._collection('someCollectionName'); всегда будет давать вам одно и то же имя коллекции, независимо от того, в какой установке этих служб foxx вы находитесь - таким образом, несколько установок могут мешать друг другу.

Самый простой способ начать работу с полным примером, в котором есть коллекции и простые заглушки кода для манипулирования, — это выбрать этот путь клика в пользовательском интерфейсе:

Services -> Add Service=> New

И заполнить

'someCollectionName' в Document Collections:

person dothebart    schedule 25.02.2019