【问题标题】:save data in array nested on database nosql - Total.js将数据保存在嵌套在数据库 nosql 上的数组中 - Total.js
【发布时间】:2017-11-28 01:13:48
【问题描述】:

我必须在数组中保存一个 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":[]}

在这里你看到我必须在 name->Report/entries->Report/appointment 中保存一个 req.body,我想用 find() 和 insert() 来做,对吧?

【问题讨论】:

    标签: nosql total.js


    【解决方案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#api~DatabaseBuilder~builder.filter

    【讨论】:

    • 好的,但我仍然没有阅读 doc.entries,因为它返回给我一个未定义的对象
    • 请安装最新版本的 Total.js 框架。我已经用你的数据测试了我的代码,一切正常。请给我写 Total.js Messenger,它会更快。
    猜你喜欢
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多