mongodb命令行操作
查询数据库
show dbs
切换数据库dbtest
use dbtest
查询库的集合collection
show collections
创建集合empolyee
db.createCollection('empolyee')
插入数据
db.empolyee.insert({'uname':'beihaison','age':24,'salary':3000})
查询集合数据条数
db.empolyee.count()
查询数据
- (>) 大于 - $gt
- (<) 小于 - $lt
- (>=) 大于等于 - $gte
- (<=) 小于等于 - $lte
db.empolyee.find({age:24}) db.empolyee.find({age:{$gt:24}}) #相当于 age > 24 db.empolyee.find({age:{$lt:24}}) #相当于age < 24 db.empolyee.find({age:{$lt:24},salary:{$gt:4000}}) #相当于age < 24 && salary > 4000 db.empolyee.find({$or:[{salary:{$lt:4000}},{salary:{$gt:20000}}]}) #相当于salary < 4000 || salary > 20000
查询指定列
db.empolyee.find({},{age:1,salary:1})
查询uname中包含 ‘e’的数据
db.empolyee.find({uname:/e/})
查询以a开头的数据
db.empolyee.find({uname:/^a/})
查询age列,并去掉重复数据
db.empolyee.distinct('age')
查询前十条数据
db.empolyee.find().limit(10)
查询1条以后的所有数据(跳过1条数据)
db.empolyee.find().skip(1)
查询第1条数据
db.empolyee.findOne()
按salary字段升序
db.empolyee.find().sort({salary:1})
按salary字段降序
db.empolyee.find().sort({salary:-1})
根据uname修改age
db.empolyee.update({uname:'beihaison'},{$set:{age:20}},false,true)
db.collection.update(criteria, objNew, upsert, multi)
ceiteria : update 查询条件 ,理解为sql update查询内where 后面的
objNew : update的对象和一些更新操作符 (如$,$inc...)等, 可以理解为sql update查询内set后面的
upsert : 如果不存在update记录,是否查询objNew,true为插入,默认为false不插入
multi : 默认为false,只更新找到的第一条记录,ture表示查找的所有记录全部更新
将age增加5
db.empolyee.update({uname:'beihaison'},{$inc:{age:5}},false,true)
删除数据
db.empolyee.remove({uname:'beihaison'})
集合重命名
db.empolyee.renameCollection('t_emp')
删除集合
db.empolyee.drop()
删除数据库
db.dropDatabase()
创建索引
db.empolyee.ensureIndex({uname:1}) #1-升序索引,-1降序索引
创建唯一索引
db.empolyee.ensureIndex({uname:1}, {unique:true})