我正在学习名为NeDB (Node.js) https://github.com/louischatriot/nedb的js数据库
对更新文档感到困惑。
更新前的数据库
{"p_id":"1","rank":"0","_id":"fXBIrW8pp8y5M9zg"}
{"$$indexCreated":{"fieldName":"p_id","unique":false,"sparse":false}}Js代码
db.update({p_id: "1"}, {$set: {rank: "1"}}, {});
db.update({p_id: "1"}, {$set: {rank: "1"}}, {});更新后的数据库
{"p_id":"1","rank":"0","_id":"fXBIrW8pp8y5M9zg"}
{"$$indexCreated":{"fieldName":"p_id","unique":false,"sparse":false}}
{"p_id":"1","rank":"1","_id":"fXBIrW8pp8y5M9zg"}
{"p_id":"1","rank":"1","_id":"fXBIrW8pp8y5M9zg"}重新启动程序
{"p_id":"1","rank":"1","_id":"fXBIrW8pp8y5M9zg"}
{"$$indexCreated":{"fieldName":"p_id","unique":false,"sparse":false}}因此,nedb没有修改文档,而是创建了一个新的文档。我不敢想象如果有很多用户和更新请求会发生什么。当我重新启动代码时,它删除了匹配项,db看起来没有问题。只是想知道是没问题还是我做错了什么?
发布于 2019-10-01 03:33:28
我可能错了,但看起来你把类型放错了地方。在数据库中,数字字段的字符串值为"1",但是对于update子句,您使用的是p_id 1。请在代码中将1更改为"1",然后重试
https://stackoverflow.com/questions/58173841
复制相似问题