相关推荐Node.js嵌入式数据库Nedb-快速上手Nedb:Node.js嵌入式数据库-创建实例Nedb:Node.js嵌入式数据库-存储引擎数据类型在Nedb中,一条数据记录称一条文档(document),文档中可以包含的数据类型有:String、Number、Boolean,、Date、null、Array,同时也可以是一个包含上述几种数据类型的对象。不同于MongoDB,Nedb不会存储undefined类型的字段。关于具体的存储形式,请参考下文中插入文档的例子。类似于MongoDB,Nedb同样拥有一个特殊的字段_id。_id是每个文档必须拥有的具有唯一性约束的字段。如果你在插入文档时没有包含这个字段,Nedb会自动为你生成一个长度为16位的、数字和字母组成的字符串_id的值。请注意,_id一旦设置无法更改。“$”和“.”两个字符在Nedb中具有特殊用途,请不要在字段名中使用他们。插入单条文档标准数据类型在前面几篇文章中,我们已经多次使用了insert接口进行文档的插入操作,这次我们尝试插入一条文档,不同以往简单的例子,这条文档将会包含上文提到的所有的数据类型:insert接口中的callback是可选的,这里我们需要查看脚本的运行结果,所以每次调用都会定义一个callback函数:可以看到,我们的doc没有包含_id字段,Nedb自动为我们生成了一个,这个_id是全局唯一的。来看看demo.db的内容:Nedb把一条文档存储在文件中的同一行,不会也不能换行。为做演示,我关闭了文本换行显示的功能,所以这里截图不完整。undefined数据类型我们尝试插入包含undefined数据的文档,看看会发生什么:运行脚本:等等,上文提到说Nedb不会保存undefined类型的数据,但返回结果中newDoc包含了school字段,发生了什么?不着急,我们去检查demo.db:可以看到Nedb忽略了school字段。不支持的数据类型同样的,我们尝试插入一条新的文档,这个文档包含了一个特殊的字段:值是一个函数:脚本运行结果和undefined类似:数据文件中同样没有保存这个字段:实际上,只要是Nedb不支持的数据类型都会被忽略掉,同时不会出现报错,使用的过程中需要小心。特殊字符当我们尝试在文档的字段中使用字符“$”或者“.”时,Nedb会返回一个错误:错误内容:插入多条文档Nedb支持同时插入两条甚至是多条文档,插入方式和支持的数据类型都和插入单条文档相同,唯一不同的是传入的参数是一个文档的数组:多条文档的插入结果:demo.db分别把每一条文档存放在独立的一行中:请小心你的唯一索引当你插入多条文档时,请小心创建了唯一索引的字段,文档列表中不能包含重复的值,例如:脚本运行时会抛出一个异常
转载请注明:http://www.aierlanlan.com/tzrz/8126.html