三元素:数据库 集合 文档(json的扩展bson)
服务启动重启停止: sudo service mongodb start(stop,restart)
修改配置文件 /etc/mongodb.conf
添加 smallfiles=true
查看当前数据库 db
查看所有数据库 show dbs
查看数据库信息 db.stats()
切换数据库 use 数据库名(没有则只是指向这个数据库,但不创建,插入数据创建集合时才会创建)
删除当前指向数据库 db.dropDatabase()
创建集合 db.createCollection('名字',{opt})
创建固定集合(size大小单位kb,max文档最大条数):db.createCollection('集合名',{capped:true,size:5,max:5})
查看集合 show collections
删除集合 db.集合名.drop()
插入数据(会自动创建集合): db.集合名.insert({文档1,文档2,...})
简单查询: db.集合名.find()
修改一条文档(不加multi修改一条,multi:true修改多条) db.update({条件},{修改的内容},{multi:true})
修改一条文档中的某些键值($set) db.update({},{$set:{键:'值'}})
保存: db.集合名.save()
删除(justOne:true删除一条,默认多条): db.集合名.remove({条件},{justOne:默认false})
查询返回第一条: db.集合名.findOne({条件})
结果格式化: db.集合名.find({}).pretty()
比较运算符:
等于:默认就是等于 如(查询title为3的文档) db.sub.find({title:3})
小于($lt) 查询(title小于5的) db.sub.find({title:{$lt:5}})
大于($gt) 查询(title大于5的) db.sub.find({title:{$gt:5}})
还有大于等于:$gte,小于等于:$lte,不等于:$ne
逻辑运算符与(逗号) 如查询名字是xx,性别为true的:db.stu.find({name:'xx',gender:true})
或($or[]) 查询名字是xx或者xxx的:db.stu.find({$or:[{name:'xx'},{name:'xxx'}]})
范围运算符($in:[],$nin:[]):如查询年龄在18-29的:db.stu.find({age:{$in:[18,29]}})
正则表达式(用// 或者$regex):查询姓王的:db.find({name:/^王/})
自定义函数($where+函数) 如查询年龄大于20的:db.stu.find({$where:function(){return this.age<20}})
limit(获取多少条文档)如获取10条: db.集合.find().limit(10)
skip(跳过几条) 如跳过2条: db.jihe.find().skip(2)
投影(显示指定的字段显示设置1,不显示设置0_id列默认显示):如显示name和age db.find({条件},{name:1,age:1})
排序(sort,值为1升序,值为-1降序):db.集合.find().sort({字段:1,....})
统计(count()) db.集合.count({条件})
去重(distinct()): db.集合.distinct('去重字段',{条件})