上一篇文章介绍了MongoDB的安装与配置,这里简单介绍下数据库的基本操作,以下操作都在javascript shell进行,进入MongoDB的安装目录bin文件夹下,执行mongo.exe即可进入命令行模式。
1、创建与删除数据库
use myDB //创建数据库,如果存在myDB则会进入这个数据库
db.myDB.insert({name:'李三'}) //插入一条数据
show dbs //查看当前所有的数据库
db.myDB.dropDatabase() //删除数据库
2、创建与删除数据库表
db.createCollection("myTable") //创建库表
show tables //查看库表
db.myTable.drop()//删除库表
3、数据库表插入数据
db.myTable.insert({
name:'李三',
id:'001'
})
4、更新库表数据
update方法
说明:用于更新已存在的文档
用法:
db.collection.update(
<query>,
<update>,
{
upsert:<boolean>,
multi:<booleam>,
writeConcern:<document>
}
)
参数说明:
- query:update的查询条件,类似sql update查询内where后面的。
- update:update的对象和一些更新的操作符(如 , , ,inc…)
- upsert:可选,这个参数的意思是如果不存在update的记录,是否插入objNew,默认是不插入
- multi:可选,mongodb默认是false,只更新找到的第一条记录,如果是是tru,则全部更新找到的数据
- writeConcern:可选,抛出异常的级别
示例:
//将刚才的李四改成了王五
db.myTable.update(
{'name':'李四'},
{$set:{'name':'王五'}},
{mutil:true} //找到多条记录的话都修改
)
5、删除数据
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
- justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
- writeConcern :(可选)抛出异常的级别。
示例:db.col.fnd() //一般先查找数据验证是否是要找的数据,然后再删除
示例:
db.myTable.remove({'name':'王五'},true) //只删除找到的第一条数据
注意:官方现在推介使用deleteMany和deleteOne了
6、查询数据
db.collection.find().pretty() //以格式化的方式来显示所有文档
db.collection.find(query, projection)
- query :可选,使用查询操作符指定查询条件
- projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
举例说明:
db.myTable.find({"name":'王五'}).pretty() //查找等于王五的数据
db.myTable.find({'id':{$lt:50}}).pretty //查找id小于50的数据
db.myTable.find({$or:[{'name':'王五'},{'id':'001'}]}).pretty()//查找id等于001或者name等于王五的数据
db.myTable.find({'name':'王五',id:'001'}).pretty()//查找id等于001并且name等于王五的数据
注意:
$lt代表小于
$lte代表小于等于
$gt代表大于
$gte代表大于等于
$ne代表不等于
$by代表等于