所以,我正在做的应该很简单,也许是这样,我只是做错了什么。我想更新我数据库中的现有文档,但我遇到了一些问题,有人可以提供建议吗?
Nano 的文档说明了以下插入内容:
db.insert(doc, [params], [callback])
Run Code Online (Sandbox Code Playgroud)
因此,我肯定能够做到以下几点:
var user = {
'firstname' : 'my',
'secondname' : 'name'
};
db.insert(user, {_rev: '2-cc5825485a9b2f66d79b8a849e162g2f'}, function(err, body) {});
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试这样做时,它都会创建一个全新的文档。如果我执行以下操作,它确实会更新我的文档,但当然,除了 _rev 之外,本文档中没有任何内容:
db.insert({_rev: '2-cc5825485a9b2f66d79b8a849e162g2f'}, function(err, body) {});
Run Code Online (Sandbox Code Playgroud)
所以问题是,我如何传入我的对象并让它更新,而不是创建一个新记录?
var user = {
'firstname' : 'my',
'secondname' : 'name',
'_id': <id from prev object>,
'_rev': <rev from prev object>
};
db.insert(user, function(err, body) {});
Run Code Online (Sandbox Code Playgroud)
_id 和 _rev 都是必需的,以便更新工作。它们也应该在您发送的对象中。
| 归档时间: |
|
| 查看次数: |
7682 次 |
| 最近记录: |