我想更新couchdb中的现有文档。我有一个图像,我想将它添加到数据库中的现有文档,而不会丢失previus字段。
我正在使用带有nano的nodejs。
坦克,这使我处于正确的方向。最后,我这样做:
db.get(id,{ revs_info: true }, function (error, objeto) {
if(error)
console.log('wrong id');
fs.readFile('image.jpg', function(err, data)
{
if (!err)
{
db.attachment.insert(id, 'imagen.jpg', data, 'image/jpg',{ rev: objeto._rev}, function(err, body) {
if (!err)
console.log(body);
});
}
});
});
答案 0 :(得分:2)
您的问题对于具体问题并不是很清楚。所以这里只是一些关于更新文档的一般指导。
话虽如此,有两种方法可以存储图像:
attachment.insert()
和attachment.get()
功能。作为参考:我通常宁愿将图像存储在其他地方,只需存储url或文件路径即可访问它们。我没有太多使用nano,但相信你可以通过以下方式做到这一点。
doc = db.get(docname); // get the document with all existing elements
doc['mynewimage'] = myimageurl; // update the document with the new image
// this assumes it's a dictionary
db.insert(doc); // inserts the document with the correct _id (= docname)
// and _rev