Как опубликовать массив объектов json в Foxx в arangodb
Я пытаюсь создать простой существующий микросервис в Foxx с помощью arangodb. Я следил за началом, но я довольно плохо знаком с javascript, поэтому я уверен, что это очень просто.
const db = require('@arangodb').db;
const errors = require('@arangodb').errors;
const foxxColl = db._collection('myCollection');
const DOC_NOT_FOUND = errors.ERROR_ARANGO_DOCUMENT_NOT_FOUND.code;
router.post('/create_entry', function (req, res) {
const data = req.body;
const meta = foxxColl.save(req.body);
res.send(Object.assign(data, meta));
})
.body(joi.object().required(), 'Entry to store in the collection.')
.response(joi.object().required(), 'Entry stored in the collection.')
.summary('Store an entry')
.description('Stores an entry in the "initial_balance" collection.');
Это, очевидно, хорошо. Я хотел бы, однако, загрузить большую полезную нагрузку
[
{"key1": "value1", "key2": "valueA"},
{"key1": "value2", "key2": "valueB"},
{"key1": "value3", "key2": "valueC"}
]
У меня есть это, что не удается (внутренняя ошибка сервера).
const initSchmea = joi.object().keys({user_id:joi.string().required(),amount: joi.number().required()});
router.post('/initial_balance/bulk', function (req, res) {
var data = req.body.;
for(var i in data)
{
var res = foxxColl.save(d[i]);
}
res.send('Done')
})
.body(joi.array().items(initSchmea.required()), 'Entry to store in the collection.')
.response(['text/plain'], 'Entries stored in the collection.')
.summary('Store entries')
.description('Stores entries in the "initial_balance" collection.');
а) как мне сделать эту простую задачу
б) как лучше отлаживать скрипты
Спасибо!
1 ответ
Исправлено с помощью этой очень простой концепции:
router.post('/create_entries', function (req, res) {
var data = req.body;
for(var i = 0; i < data.length; i++) {
var obj = data[i];
var res = foxxColl.save(obj);
}
})
.body(joi.array().items(joi.object().unknown(true)), ['json'])
//.response(['text/plain'], 'Entries stored in the collection.')
.summary('Store entries')
.description('Stores entries in the "initial_balance" collection.');
Я все еще не уверен, как отлаживать в Foxx, хотя