PouchDB,如何在已有附件的文档中添加新附件?

时间:2016-05-10 10:10:00

标签: javascript couchdb pouchdb

我有一些附件的文档,现在我想添加一个新附件,怎么做?       我使用db.put()来保存我的文档,但最后只有新的附件,旧的附件丢失,我的更新文档代码如下:

    function addNewDoc() {
    var blob30k = base64toBlob(imgSource30k, 'image/png', 1024);
    db.get('my0112doc', function(err, doc) {
        if (err) {
            return console.log(err);
        }
        db.put({
            _id: 'my0112doc',
            _rev: doc._rev,
            _attachments: {
                'random89.png': {
                    content_type: 'image/png',
                    data: blob30k
                },
            }
        }, function(err, response) {
            if (err) {
                return console.log(err);
            }
            db.allDocs({
                include_docs: true,
                attachments: true,
                descending: true
            }, function(err, doc) {
                console.log(doc.rows);
            });
        });
    });
}

这是我第一次在我的文档中保存附件,当我添加一个新附件时,附件'myattachment.png'丢失了。

    function saveImage(imgSource30M) {
    var t1 = new Date();
    var blob = base64toBlob(imgSource30M, 'image/png', 1024);
    db.put({
        _id: 'my0112doc',
        _attachments: {
            'myattachment.png': {
                content_type: 'image/png',
                data: blob
            }
        }
    }, (err, doc) => {
        var t2 = new Date();
        console.log("save in pouchdb timeoff:", t2.getTime() - t1.getTime());
    });


}

1 个答案:

答案 0 :(得分:1)

您是否尝试过pouchdb' putAttachment而不是put