创建(切换)数据库
use dbname
查看所有数据库
show dbs
查看当前数据库
db
查看数据库里所有表
show collcetions或(show tables)
查看表里的所有数据
db.test.find()
删除数据库
db.dropDatabase()
删除表里的某个数据
db.test.remove({"name":"赵四"})
创建集合(也就是常说的创建表)
db.createCollection("name")
插入数据
db.test.insert({"name":"小明","age":11})
db.test.insertMany([{"name":"小明","age":11},{"name":"小红","age":12}])
查询数据
db.test.find()
条件操作符
- (>) 大于 - $gt
- (<) 小于 - $lt
- (>=) 大于等于 - $gte
- (<= ) 小于等于 - $lte
例 db.test.find({birthyear:{$gt:1970}})
$in和$nin的使用
db.test.find({gender:{$in:["male","female"]}})
db.test.find({gender:{$nin:["male","female"]}})
$or的使用
db.test.find({$or:[{gender:"male"},{gender:"female"}]})
混合使用
db.test.find({$or:[{gender:{$nin:["male","female"]}}]})
db.test.find({"birthyear":{$gt:1990}},{$or:[{gender:{$nin:["male","female"]}}]})
模糊查询
db.test.find({gender:/^ma/})
limit与skip(跳过)连用
db.test.find({},{gender:/^ma/}).limit(10).skip(20)
更新操作
db.test.updateMany({name:"小明"},{$set:{name:"赵四"}}) //符合条件的全部更新
db.test.update({name:"小明"},{$set:{name:"赵四"}}) //只更新一条符合条件的
aggregate使用avg函数
db.test.aggregate([{$group:{_id:"$gender",avg_birthyear:{$avg:"$birthyear"}}}])
db.test.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
MapReduce的使用
db.users.mapReduce(function(){emit(this.gender,1);},function(key,values){return Array.sum(values);},{out:"result_totals"})
//emit用于生成(key,value)类型
Replace操作
db.test.replaceOne({name:"赵四"},{name:"赵四",name:"王五"})