如何增加和减少文件价值?

时间:2019-02-10 02:23:45

标签: nedb

我刚刚开始使用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 () { }

0 个答案:

没有答案