最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

JavaScript了解NeDB(更新查询)

IT培训 admin 4浏览 0评论

JavaScript了解NeDB(更新查询)

我正在学习名为NeDB(Node.js)的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不会修改文档,而是创建一个新文档。恐怕无法想象如果有很多用户和更新请求,将会发生什么。当我重新启动代码时,它将删除匹配项,并且数据库看起来还可以。只想知道是否还可以,或者我做错了什么?

回答如下:

我可能是错的,但看起来您在这里放错了类型。在数据库中,p_id字段的字符串值为"1",但对于update子句,您使用的是数字1。请在您的代码中将1更改为"1",然后重试

JavaScript了解NeDB(更新查询)

我正在学习名为NeDB(Node.js)的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不会修改文档,而是创建一个新文档。恐怕无法想象如果有很多用户和更新请求,将会发生什么。当我重新启动代码时,它将删除匹配项,并且数据库看起来还可以。只想知道是否还可以,或者我做错了什么?

回答如下:

我可能是错的,但看起来您在这里放错了类型。在数据库中,p_id字段的字符串值为"1",但对于update子句,您使用的是数字1。请在您的代码中将1更改为"1",然后重试

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论