内容简介:有时候做一些小项目,不想使用mysql等重型武器,就想用一些小而美的文件类型数据库。意思就是把不大的数据了都存到文件中,对于文件进行更新和读取。我在之前也介绍过6款非关系型小型数据库。这6款数据库中,我首推【nedb】,很强大,功能是最全的。今天在使用中碰到一个难以理解的问题,一番搜索,才可以茅塞顿开。
缘起
有时候做一些小项目,不想使用 mysql 等重型武器,就想用一些小而美的文件类型数据库。意思就是把不大的数据了都存到文件中,对于文件进行更新和读取。
我在之前也介绍过6款非关系型小型数据库。这6款数据库中,我首推【nedb】,很强大,功能是最全的。
今天在使用中碰到一个难以理解的问题,一番搜索,才可以茅塞顿开。
问题
我在使用nedb update某一行数据时,始终会在文档末尾插入一行新数据。我把nedb api用法看来看去,也没找到自己代码哪里有问题。
后来咨询阅读文档其他部分。才发现了nedb 对【持久化】的解释。
解释
NeDB的持久性使用附加文本的方法,这意味着出于性能原因,所有更新和删除实际上都会导致在数据文件末尾添加行。每次在应用程序中加载每个数据库时,数据库都会自动压缩(即以每个文档一行的格式放回)。
什么意思呢?
就是每次你执行update 和 remove操作时,nedb都会在文件末尾新增加一行相应数据,一开始我想当然的认为这样总是会产生至少2条以上的重复数据。
事实不是:在你再去查询某条数据时,nedb会自动压缩数据,保证你查询出来的数据没有重复的。
我马上代码试了下,果然,之前更新数据时,在文档末尾新增的数据,都不见了,相关属性值都被合并到之前已有的对于某条记录里去了。
以上所述就是小编给大家介绍的《数据库nedb在update更新数据时,为什么总是会重新插入一条数据?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 定时插入数据测试脚本
- 【数据结构与算法】—— 插入排序
- c# 插入数据效率测试(mongodb)
- Python多线程批量插入数据小结
- php-在mysql里批量插入数据
- spark-sql 创建表 插入数据
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
八年级数学(华东师大版)-解题升级-解题快速反应一本通(新课标)
孙丽敏等编 / 吉林教育出版社 / 2004-6 / 10.0
本书将与知识点、重点、难点和考点有关的典型题做全析全解,是具有解题题典性质的助学读物。但本书又优于解题题典,不仅展示解题过程,更详细地提供了解题思考过程和切入点的选择方法,教方法导引思路的功能更强。 学生要提高解题能力,必须具备两个条件:一是打好基础,二是能够运动所学知识分析问题和解决问题。本书用例题解析解说知识点、重点、难点和考点,同时提供解题思考过程,在打基础中激活能力,在解题实......一起来看看 《八年级数学(华东师大版)-解题升级-解题快速反应一本通(新课标)》 这本书的介绍吧!