启动: sudo service mongod start
停止: sudo service mongod stop
重启: sudo service mongod restart
查看是否启动成功: ps ajx|grep mongod
配置位置: /etc/mongod.conf 默认端口:27017
启动本地客户端: mongo
查看当前数据库: db
查看全部数据库: dbs
切换使用数据库: use db_name
删除当前数据库: db.dropDatab()
手动创建: db.creatCollection("sub", {capped:true, siz:10})
参数capped: 默认值为flase size表示上传文件限制大小,单位字节
查看当前数据库全部集合: show collections
删除集合: db.test.drop()
db.test.insert({_id:'1001', name: 'python', age:18 })
_id不设置,mongod会默认帮我们设置, _id数据唯一
db.test.find()
db.test.findOne()
db.test.find({age:18})
更新: db.test.update({name:'pyhotn'}, {name:"这是更新内容"})
删除: db.text.remove({name: ''python'})
运算符:
等于: 没有运算符, 默认就是等于判断
小于: $lt 小于等于: $lte
大于: $gt 大于等于: $gte
不等于: $ne
and 并且 : 默认就是and
or 或 : 使用$or
列: db.test.find({age: {$gte18} } ) 找到age大于等于18的数据
列: db.test.find( {$or:[ { age:{$gte:18}}, {name:'java'} ] } )
找到age大于18的数据, 或者名字是java的
范围运算:
在这个范围: $in
列: db.test.( { age: {$in:[10,20] } } )
可能你会解决运算符是在里面,还是在外面的问题,像大于小于这些,都是判断数据里面的所有一般在里面, 而and和or这些,是大的, 运算时候一般靠后的,是在外面, 还有就是$ln,这个是用来确定数据访问的所以在里面.
读取条数:
方法limit() 用于指定读取数量
方法skip() 用于跳过指定条数
统计个数: count()
列: db.test.find().skip(3).limit(4).count()
查询test的数据跳过前三条,然后读取4条数据,最后统计一下有几条,然后输出
方法sort({字段:1}) 参数1为升序, -1为降序
db.test.find({ }, {_id:0, name;1, age:1})
{ }投影后存放进去, 参数0 代表不显示, 参数1代表显示,
对name建立索引: db.test.ensurelndex( {name:1} )
查看当前所有索引: db.test.getlendexes()
输出name索引: db.test.droplndex("name")
mongodump -h dbhost -d dbname -o dbdirectory -h: 服务器地址, 也可以指定端⼝号 -d: 需要备份的数据库名称 -o: 备份的数据存放位置, 此⽬录中存放着备份出来的数据 mongodump -h 127.0.0.1:27017 -d test1 -o ~/Desktop/data
mongorestore -h dbhost -d dbname --dir dbdirectory
-h: 服务器地址
-d: 需要恢复的数据库实例
–dir: 备份数据所在位置
mongorestore -h 127.0.0.1:27017 -d test --dir ~/Desktop/data