mongodb的基本操作与插入文档(document)

一.mongodb的基本操作:

  1.查看mongodb当前所有的databases : show dbs

  2.选择数据库(database) : use databaseName(该数据库不存在则会自动创建,但是只存在于mongodb预设的缓存中,如果你不做任何操作,关闭数据库,那么该数据库也就不存在了,如果你往该库中添加了数据,那么该库就被真正的创建了)

  3.查看数据库中的集合(collection) : show collections

  4.获取mongodb中的帮助 : db.help() 里面有很多的实用性的操作,在你不知道mongodb有哪些操作的时候很有帮助

  5.删除数据库 : use databaseName(必须先选择要删除的数据库), db.dropDatabase()

  6.删除指定数据库下面的集合: use databaseName(必须先选择要删除集合的数据库), db.collectionName.drop()

二.mongodb插入文档

  因为我们的mongodb使用javascript做shell的,所以可以说mongodb的客户端编程跟javascript差不多

  往集合中插入的文档,其格式与json基本一样,所以存储在集合中的文档的格式都是bson,bson是一种类json的二进制形式的存储格式,称之为binary json

  往集合中插入新的文档有两种方式,一种是insert(),一种是save()

  区别:

    insert()方法:当插入数据时,已经存在的_id的数据,则mongodb会直接报错,并返回对应的_id

    save()方法:当插入数据时,它会先去循环一遍集合中的所有数据,判断插入的数据的_id是否存在于集合中,如果不存在则会直接插入一条新的文档,如果存在,则会调用mongodb的update()方法,更新_id对应的数据(相当于覆盖该_id的文档内容)

  语法:

    db.collectionName.insert(document)

    db.collectionName.save(document)

  注意:

    1.在插入数据之前,需要注意的是mongodb对于field(字段)的数据类型非常的敏感,比如你插入了一个age字段,内容为30,是一个string类型的,但是你如果用一个整型30去查询,是查不到该数据的,因为数据类型不对,所以插入数据的时候要慎重,考虑好字段的类型

    2.虽然mongodb灵活性很强,不像关系型数据库那样,建立一个新的字段,所有的数据都有该字段,但是在实际开发中,本人还是建议你插入数据尽量保持每一个集合的字段都相同,这样方便你在程序中的开发

  1.插入文档方法之insert()

    

    

    从上图可以看出,当你插入一条数据成功后,会返回写入的结果,插入成功,插入1条[ WriteResult({ "nInserted" : 1 }) ],而且你会发现,每条数据前面出现了一个"_id"的,它跟我们使用的关系型数据库不太一样,我们使用的关系型数据库一般primary key都是id,而且是自增的(1,2,3,4.....),而它这个是mongodb内为每条文档生成的一个唯一的标识,也具有唯一性,但是不会像关系型数据库那样自增而已,当然我们也可以插入指定的"_id"(等下说save()的时候再实践)

    a.当我们插入一条数据,这个"_id"已经存在了,会发生什么呢?

      

    b.当然insert()方法也可以插入_id(自定义_id的值,而不使用mongodb生成的_id),指定它的值跟我们关系型数据库一样(1,2,3,4,5,6....)

         

    c. mongodb能不能跟关系型数据库一样批量插入呢?关系型数据库批量插入:insert into tablename(columns)values(text1),(text2),(text3).........,而我们的mongodb是不能批量插入的,只能通过循环来实现批量插入

      

    d.在mongodb中每个document的字段field可以不相同(mongodb的灵活性,但是不建议这么做)

      

  2.插入文档方法之save():

    与insert()方法差不多都是插入文档,唯一的不同就是如果_id存在,save()则会更新这条_id对应的数据,而insert则是直接报错,并返回该_id

    

    也可以批量更新,同时不存在的则插入,存在的则更新(下图_id只有1,2,3,通过循环更新了1,2,3,同时也添加了_id为4,5的两条数据):

    

  通过上面的示例,我们可以发现:

  1.mongodb不需要事先定义collection,在第一次插入数据时,它会自动创建collection

  2.在collection中每添加一条document,除非我们自己指定_id,否则,系统都会生成一个唯一的标识ObjectId

  3.在collection中,每个document可以有不同的field(字段)

  如有错误的地方,欢迎批评指正,本人新手,初学!!!!!!

时间: 2024-12-19 16:07:46

mongodb的基本操作与插入文档(document)的相关文章

Mongodb的基本操作-数据库 集合 文档的增删改查

数据库操作: //查看有哪些数据库 > show dbs local  0.078GB mydb   0.078GB //use操作将切换到一个数据库 如果数据库存在将直接切换 如果不存在 那么会在切换之后,第一次执行新增修改操作的时候去创建这个数据库 > use newdb switched to db newdb //此时还没有创建 > show dbs local  0.078GB mydb   0.078GB > db.persion.insert({age:10}) Wr

MongoDB 插入文档

MongoDB 插入文档 本章节中我们将向大家介绍如何将数据插入到MongoDB的集合中. 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下: db.COLLECTION_NAME.insert(document) 实例 以下文档可以存储在 MongoDB 的 runoob 数据库 的 c

【Mongodb教程 第六课 】MongoDB 插入文档

insert() 方法 要插入数据到 MongoDB 集合,需要使用 MongoDB 的  insert() 或 save() 方法. 语法 insert() 命令的基本语法如下: >db.COLLECTION_NAME.insert(document) 例子 >db.mycol.insert({ _id: ObjectId(7df78ad8902c), title: 'MongoDB Overview', description: 'MongoDB is no sql database',

mongodb学习笔记(入门教程)系列2 - 插入文档

这一节就将一些mongodb如何插入文档的一系列操作. 假设我们在本机上就有一个mongodb的服务监听8866端口. 那么首先使用:mongo --port 8866(等价于 mongo 127.0.0.1:8866)  命令进入mongodb的shell 一般系统会自动创建几个数据库:local,test等,当使用mongo命令连接时,会默认选择test数据库. tips: 使用“db”命令可以查看当前的数据库. 使用“show dbs”命令可以查看当前mongodb服务中所有的数据库. 使

python 连接mongodb ,并将EXCEL文档导入mongodb

一.下载软件 1.https://pypi.python.org/pypi/pymongo/#downloads  下载 PYMONGO 下载后 用命令提示符  cmd进入目录 并运行命令 python setup.py install 2.下载 xlrd  https://pypi.python.org/pypi/xlrd 利用pymongo包进行数据库的连接,使用xlrd包读取excel数据,由于二者数据结构的不同,要将excel格式数据转换为json格式数据.由于编码问题会出现"TypeE

MongoDB查询集合中的文档

MongoDB查询集合中的文档 参考资料:http://blog.csdn.net/qq_36040184/article/details/54355085 测试: 集合中插入数据 > db.chenji.insert({"name":"张三","年纪":"三年级","年龄":"14"}) WriteResult({ "nInserted" : 1 }) >

MongoDB数据库更新和删除文档

创建集合 createCollection() <span style="font-size:14px;">name:创建的集合名称 options:是一个作为初始化的文档(可选)</span> <span style="font-size:14px;">> db.createCollection("jingdong") #无参数 { "ok" : 1 } > show coll

MongoDB(二)创建更新删除文档

插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz"}) 如果要批量插入怎么办呢,看下面代码: >db.foo.insert([{"_id":0},{"_id":1},"{"_id":2}]) 以前有一个batchInsert函数,现在已经没有了.注意在批量插入的过程中如果有一个文档插

MongoDB入门教程一[文档与集合]

MongoDB 是面向集合存储的文档型数据库,其涉及到的基本概念与关系型数据库相比有所不同.举个例子,在关系型数据库中,我们记录一个订单的信息,通常是这样设计表结构的: 设计一个订单基本信息表和一个订单明细表,1个订单有N个订单明细,这些订单明细通过外键关联到订单主表,所以要存储一个订单的信息,需要“1+N”条记录.在MongoDB中将订单基本信息和该订单的所有订单明细信息通过嵌套的json格式组织起来,保存为1个文档.也就是说在关系型数据库中需要“1+N”条记录存储的数据,MongoDB保存为