Сохранить данные в массив, вложенный в базу данных nosql - Total.js

Я должен сохранить JSON в массиве, но я не могу в

Контроллеры /api.js

exports.install = function() {

    F.cors('/api/db/*',['post'],false)

    F.route('/api/db/',saveNoSql,['post']);
};


function saveNoSql(){
    console.log('dentro saveNoSql');
    var self = this;
    var body = self.req.body;

    var users = NOSQL('db');
    users.find().make(function(builder){
        builder.and()
        builder.where('name','Report');
        builder.where('entries['+0+'].name','Report');
        builder.callback(function(err,model){

        })
    })
}

базы данных /db.nosql

{"name":"Report","user":"rep","password":"admin","odata":"false","entries":[{"name":"Report","appointment":[{"idOrder":"1","order":"order 1","supplier":"fornitore 1","hours":"numero ore","actions":"icone azioni"}]},{"name":"Admin","appointment":[]}]}
{"name":"Admin","user":"adm","password":"admin","odata":"true","entries":[]}
{"name":"Mike","user":"mike","password":"admin","odata":"true","entries":[]}

Здесь вы видите, что я должен сохранить req.body в имя-> Отчет / записи-> Отчет / назначение, и я думаю, чтобы сделать это с помощью find() и insert(), верно?

1 ответ

Это решение, но не очень эффективное:

var users = NOSQL('db');

users.find().filter(doc => doc.name === 'Report' && doc.entries && doc.entries[0] && doc.entries[0].name === 'Report').callback(function(err, model) {
    console.log(err, model);
});

Я рекомендую обновить все документы, добавив новые поля фильтра для более простой фильтрации. Документация: https://docs.totaljs.com/latest/en.html

Другие вопросы по тегам