我刚刚开始使用nedb。
我想知道如何增加文档的值。例如,如果它在数据库中(关于更新的文档,除了我添加了一个名为mine
的字段):
// Let's use the same example collection as in the "finding document" part
// { _id: 'id1', mine: 10, planet: 'Mars', system: 'solar', inhabited: false }
// { _id: 'id2', mine: 5, planet: 'Earth', system: 'solar', inhabited: true }
// { _id: 'id3', mine: 50, planet: 'Jupiter', system: 'solar', inhabited: false }
// { _id: 'id4', mine: 50, planet: 'Omicron Persia 8', system: 'futurama', inhabited: true }
我想将火星上的mine
的值增加1。
文档说这是我们使用的:$inc to increment a field's value
,但示例很奇怪:
// If you upsert with a modifier, the upserted doc is the query modified by the modifier
// This is simpler than it sounds :)
db.update({ planet: 'Pluton' }, { $inc: { distance: 38 } }, { upsert: true }, function () {
// A new document { _id: 'id5', planet: 'Pluton', distance: 38 } has been added to the collection
});
这很奇怪,因为距离甚至不是行星对象的原始属性,并且似乎将距离设置为38,难道不应该将距离增加1吗?无论如何,假设我想将行星火星的mine
增加1,我该怎么做?
类似这样的东西:
db.update({ planet: 'Mars' }, { $inc: { distance } }, {}, function () { }