MongoDB数据类型有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联-专业网站定制、快速模板网站建设、高性价比平果网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式平果网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖平果地区。费用合理售后完善,十余年实体公司更值得信赖。
数字
shell默认使用64位浮点型数值,如下:
db.sang_collec.insert({x:3.1415926}) db.sang_collec.insert({x:3})
对于整型值,我们可以使用NumberInt或者NumberLong表示,如下:
db.sang_collec.insert({x:NumberInt(10)}) db.sang_collec.insert({x:NumberLong(12)})
字符串也可以直接存储,如下:
db.sang_collec.insert({x:"hello MongoDB!"})
正则表达式主要用在查询里边,查询时我们可以使用正则表达式,语法和JavaScript中正则表达式的语法相同,比如查询所有key为x,value以hello开始的文档且不区分大小写:
db.sang_collec.find({x:/^(hello)(.[a-zA-Z0-9])+/i})
数组一样也是被支持的,如下:
db.sang_collec.insert({x:[1,2,3,4,new Date()]})
数组中的数据类型可以是多种多样的。
MongoDB支持Date类型的数据,可以直接new一个Date对象,如下:
db.sang_collec.insert({x:new Date()})
一个文档也可以作为另一个文档的value,这个其实很好理解,如下:
db.sang_collect.insert({name:"三国演义",author:{name:"罗贯中",age:99}});
书有一个属性是作者,作者又有name,年龄等属性。
我们在前面提到过,我们每次插入一条数据系统都会自动帮我们插入一个_id
键,这个键的值不可以重复,它可以是任何类型的,我们也可以手动的插入,默认情况下它的数据类型是ObjectId,由于MongoDB在设计之初就是用作分布式数据库,所以使用ObjectId可以避免不同数据库中_id
的重复(如果使用自增的方式在分布式系统中就会出现重复的_id
的值),这个特点有点类似于Git中的版本号和Svn中版本号的区别。
ObjectId使用12字节的存储空间,每个字节可以存储两个十六进制数字,所以一共可以存储24个十六进制数字组成的字符串,在这24个字符串中,前8位表示时间戳,接下来6位是一个机器码,接下来4位表示进程id,最后6位表示计数器。
MongoDB中也可以存储二进制数据,不过这种情况并不多,二进制数据的存储不能在shell中操作,我们在后面的代码中会介绍这种存储方式。
文档中也可以包括JavaScript代码,如下:
db.sang_collect.insert({x:function f1(a,b){return a+b;}});
看完上述内容,你们掌握MongoDB数据类型有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!