【发布时间】:2016-04-07 09:49:36
【问题描述】:
我使用 Pouchdb 从用户数据创建数据库,我想用修改后的对象更新文档。例如,我有这个初始对象:
var doc = {
"_id": "test",
"trial": 0,
"results": [11, 22, 33]
};
那我修改一下:
doc.results[doc.results.length] = 44;
我想用新文档替换旧文档。我尝试了以下步骤:
1/ 初始化 PouchDB 和文档
var db = new PouchDB('test');
var doc = {
"_id": "test",
"trial": 0,
"results": [11, 22, 33]
};
2/将初始文档放入数据库
db.put(doc);
3/修改文档
doc.results[doc.results.length] = 44;
4/ 尝试使用新文档更新数据库
db.get('test').then(function(doc) {
return db.put(doc);
}).then(function () {
return db.get('test');
}).then(function (doc) {
console.log(doc);
});
但是数据库中的文档没有被修改。
如何使用修改后的对象更新文档?
更新:
即使使用 _rev,我也无法进行更新。正如 mauritslamers 所建议的那样,我尝试将 _rev 包含在文档中:
var db = new PouchDB('test');
var doc = {
"_id": "test",
"_rev": 0,
"trial": 0,
"results": [11, 22, 33]
};
在put 声明中包含以下内容:
db.get('test').then(function(doc) {
return db.put(doc, doc._rev);
}).then(function () {
return db.get('test');
}).then(function (doc) {
console.log(doc);
});
但它不起作用。
【问题讨论】:
标签: javascript pouchdb