使用NeDB,第一个语句将正确更新数据,但第二个语句(使用doc值本身作为键(并且是docs [i] .ID是'2013000060') 将无法工作 - 即使更新功能的结果告诉我1行已更改。
1. oDB.update({ MYID: '2013000060' }, { $set: { "PAGE": 2 }}, ...
2. oDB.update({ MYID: docs[i].ID}, {$set: {"PAGE": 2}}, ...
一些想法?
答案 0 :(得分:1)
考虑到NeDB中的updates异步工作。
在更新对象(并依赖更新的值)后,您想要做的任何事情都应该在传递给callback
电话的.update()
函数内完成。
答案 1 :(得分:0)
您可以复制粘贴您正在使用的确切代码,预期结果和实际结果吗?从它的外观来看,你似乎在使用同步代码,你应该使用回调。
答案 2 :(得分:-1)
在摆弄NeDB datastore.js之后,事实证明这是一个奇怪的计时问题。 该值实际上已更新,但是当发出带有查询的.find时,该值尚未保留。 无论如何,我没有更深入地研究使用字符串文字产生不同结果的事实。