连接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({})