MongoDB入门

时间:2022-07-25
本文章向大家介绍MongoDB入门,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

mongodb与关系型数据库概念类比

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

tablejoins

表连接,MongoDB不支持

primary key

_id

主键,MongoDB自动将_id字段设置为主键

文档与记录行的区别

  • 文档是无模式的,即第一条记录5个字段,第2条记录可能是2个字段。且字段名称可能完全不一样 RDBMS记录行是预先定义好的格式,必须按照规定格式存储。
  • 文档的结构是可以嵌套的
{
    item: "ABC1",
    details: {
        model: "14Q3",
        manufacturer: "XYZ Company"
    },
    stock: [ { size: "S", qty: 25 }, { size: "M", qty: 50 } ],
    category: "clothing"
}

MongoDB数据类型

  • MongoDB的文档类似于JSON的格式,与javascript对象神似 Json包含6中数据类型,只有null、布尔、数字、字符串、数组、对象这几种数据类型.JSON中没有日期类型,只有一种数字类型,没办法区分整形和浮点数,不能区分32位和64位。
  • MongoDB数据类型 MongoDB保留了JSON的键值特性,添加了一些其他的数据类型。 数据类型 描述 null 用于表示空值获不存在字字段 32位整形,64位整形,64位浮点数 javascript中只有一种数字类型,而MongoDB中有上面3中类型,默认情况下shell的数字都被MongoDB当作双精度。在shell下修改文档中的32位整形,也会被转换为64位浮点数。所以尽量不要在shell下面修改文档 字符串 UTF-8字符串数据 ObjectId MongoDB中存储的文档必须有一个“_id”,这个键可以是任何值,但必须唯一 日期 var d=new Date() 正则表达式 采用javascript的正则表达式语法 函数 可以包含javascript代码,如 {a:function(){……}} 二进制 shell脚本中无法使用,通过其他语言驱动 最大值and最小值 是BSON中的特殊类型分别表示可能的最大最小值,int.MaxValue, int.MinValue 未定义 undefined,在javascript中null和undefined是不同的类型 数组 值的集合表示为数组。同json数组一样,数组是一组值,数组中可以包含不同的数据类型的对象,甚至是嵌套数组 内嵌文档 内嵌文档就是把整个MongoDB文档当作另一个文档中键的值。

CRUD基础操作

>use foo #新建数据库,如果只执行这条命令而不插入数据,则不会建立成功#
>db #显示当前使用的数据库#
>db.fooCollection.insert({name:"luonanqin"});   #fooCollection为collection的名字,insert表示插入操作#
>show collections      #显示数据库中所有的集合
>db.fooCollection.find();                                              #查询fooCollection中所有的数据#
{ "_id" : ObjectId("51bd9b84f5a86f460f74659a"), "name" : "luonanqin" }
>db.abc.update({"_id" : ObjectId("51bd9b84f5a86f460f74659a")},{$set: {name:"luonanqin2"}}); #更新name的值为luonanqin2#
>db.abc.remove({name:"luonanqin2"});
>show collections      #显示数据库中所有的集合
>db.abc.drop()   #drop数据库
>db.help()

喜欢 (1)or分享 (0)