MongoDB学习二

来源:互联网 发布:华为交换机telnet端口 编辑:程序博客网 时间:2024/06/06 08:34

连接MongoDB,在bin目录下输入mongo
这里写图片描述
创建数据库语法格式如下:

use DATABASE_NAME

如果数据库不存在,则创建数据库,否则切换到指定数据库。如果你想看所有数据库,可以使用show dbs命令。
MongoDB中某默认的数据库为test,如果你没有创建新的数据库,集合将存放在test数据库中。

删除数据库的语法格式如下:

db.dropDatabase()

删除当前数据库,默认为test。你可以使用db命令查看当前数据库名。

删除集合的语法格式如下

db.collection.drop()

插入文档
文档的数据结构和JSON基本一样,所有存储在集合中的数据都是BSON格式。
BSON是一种类JSON的一种二进制形式的存储格式,简称Binary JSON。
语法如下:

db.COLLECTION_NAME.insert(document)

例如:
将文档存储在当前数据库的col集合中:

db.col.insert({    title:'这是一个测试',    description:'这是一个MongoDB的文档',    by:'test',    tags:['mongodb','database','NoSQL'],    likes:100})

查看插入的文档:

db.col.find()

这里写图片描述

跟新文档的方法
MongoDB使用update()和save()方法来更新集合中的文档。
update语法格式:

db.collection.update(    <query>,    <update>,    {        upsert:<boolean>,        multi:<boolean>,        writeConcern:<document>    })

参数说明:

  • query:update的查询条件,类似sql update查询内where后面的
  • update:update的对象和一些更新的操作符,可以理解为sql update查询内set后面的
  • upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认为false
  • multi:可选,默认为false,只更新找到的第一条记录,如果这个参数为true,就按条件查出来多条记录全部更新
  • writeConcern:可选,抛出异常的级别
    例如:
db.col.update(    {title:'这是一个测试'},    {$set:{title:'MongoDB'}}))

save()方法
save方法通过传入的文档来替换已有文档。语法格式如下:

db.collection.save(    <document>,    {        writeConcern:<docuemnt>    })

参数说明:

  • doucument:文档数据
  • writeConcern:可选抛出异常的级别

删除文档
remove()函数使用来移除集合中的数据。在执行remove前先执行find命令来判断执行的条件是否正确,这是一个比较好的习惯。
语法:

db.collection.remove(    <query>,    <justOne>)

MongoDB 2.6之后的语法为:

db.collection.remove(    <query>,    {        justone:<boolean>,        writeConcern:<document>    })

参数说明:

  • query:可选,删除的文档的条件
  • justOne:可选,如果设为1或true,则只删除一个文档
  • writeConcern:可选,抛出异常的级别

首先插入一条数据:

db.col.insert({title: 'MongoDB',     description: 'MongoDB 是一个 Nosql 数据库',    tags: ['mongodb', 'database', 'NoSQL'],})

删除数据

>db.col.remove({'title':'MongoDB'})

如果你只想删除第一条找到的记录可以设置justOne为1

db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

如果你像删除所有数据

db.col.remove({})
0 0