数据库操作
创建
使用use不会显示创建数据库,必须插入至少一条数据
# 创建后插入
$ use newData
$ db.newData.insert({name:"新增加的数据"})
# 查看所有数据库 查看数据库下的集合
$ show dbs
$ show collections
删除
$ use database
$ db.dropDatabase()
collection
操作
mongodb
里面的数据库由若干个collection
(集合,相当于表)组成,所以数据操作就是collection
操作
创建
直接往新集合dataBase
插入数据,该collection
就会被创建
$ db.dataBase.insert({name:"新人"})
删除
$ db.dataBase.drop()
数据操作
又可以称为document
,是数据的最小单位,这里列举了常用的操作
查找document
1. 所有
$ db.collection.find()
2. 指定属性的value,加上去重
比如下面的命令会超找所有包含name
的集合,然后把他们的value
生成一个数组然后去重
$ db.collection.distinct('name') // [item1,item2]
3. 查询age==22
$ db.collection.find({age:22})
4. 查询age>22
和age>=22
$ db.collection.find({age:{$gt:22}}) // >
$ db.collection.find({age:{$gte:22}}) // >=
5. 查询age<22
和age<=22
$ db.collection.find({age:{$lt:22}}) // <
$ db.collection.find({age:{$lte:22}}) // <=
6. and
并且,age>=13
并且age<44
$ db.collection.find({age:{$gte:13,$lt:44}})
7. 查询name
中包含node
的数据,用于模糊查询
$ db.collection.find({name:/node/})
# 指定开头
$ db.collection.find({name:/^node/})
8. 指定需要显示的字段
# 查询后只显示该document的name属性
$ db.collection.find({},{name:1})
9. 显示前5条数据
$ db.collection.find().limit(5)
10. 显示5条以后的数据
$ db.collection.find().skip(5)
11.显示在2-5之间的数据
可用于分页。limit
是pageSize
。skip
是第几页*pageSize
$ db.collection.find().limit(5).skip(2)
12. or
与查询,相当于||
$ db.collection.find({$or:[{age:23},{age:13}]}) //
13. 显示查询的数量
$ db.collection.find({$or:[{age:23},{age:13}]}).count()
修改document
修改的前提是查询,要在查询之后进行修改。mongodb
的修改包含有查询
1. 将小明的age
改为16
$ db.collection.update({name:'小明'},{$set:{"age":16}})
2. 将所有小明的age
改为16
$ db.collection.update({name:'小明'},{$set:{"age":16}},{multi:1})
3. 删除小明
$ db.collection.remove({name:'小明'})