Mongodb学习
Posted chenminghe3496
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb学习相关的知识,希望对你有一定的参考价值。
启动数据库到windows服务
mongod --dbpath D:\ProgramFiles\MongoDB\db --logpath D:\ProgramFiles\MongoDB\log\m17.log --port 27017 --serviceName MongoDB --install
fork后台运行,3.6版本fork命令不支持了
默认端口27017
du -h linux下查看磁盘占用
bsondump 导出bson结构
mongo 客户端(相当于mysqlexe)
mogod服务器端(相当于mysqldexe)
mongoexport导出易识别的json或csv
mongorestore数据库整体导入
mongos路由器分片
mongodb入门命令
1.查看当前数据库 show dbs;
admin
config
local
原始库就好别乱动
2.use databaseName;选库
3.show tables/collections;显示数据库表
mongodb的表叫collections
4.如何创建库,可以用db.help()查看命令,查不到
Mongodb的库是隐式创建的,你可以use一个不存在的库
然后在该库下创建collection,即可创建库
5.db.createCollection("collectionName") 创建数据表
例子
use shop
show collections
db.createCollection(‘user‘);
show dbs;
其实collections允许隐式创建 db.collectionName.insert("")
db.goods.insert({_id:1,name:‘NOKIAN86‘,price:‘29.9‘});
6.插入和查询
db.user.insert({name:‘lisi‘,age:22}) //主键自动生成
db.user.find();
db.user.insert({_id:2,name:‘poly‘,age:22}) // 自定义主键
db.user.insert({_id:3,name:‘hmm‘,bobby:[‘basketball‘,‘football‘],intro:{‘title‘:‘My intro‘,content:‘from china‘}});
db.stu.insert([{_id:3,sn:"003",name:"lis"},{_id:4,sn:"004",name:"zhaowu"}]) //插入多条,id可以指定部分
7.db.user.drop(); 删除collection
8.db.dropDatabase(); 删除数据库,谨慎使用
详细的curd
1.删除
db.stu.remove({sn:‘001‘});
db.stu.remove();//清空
db.stu.insert([{name:‘songjiang‘,gender:‘m‘},{name:‘dalang‘,gender:‘m‘},{name:‘poxi‘,gender:‘f‘},{name:‘jinlin‘,gender:‘f‘}])
db.stu.remove({gender:‘f‘}) //删除所有匹配行
db.stu.remove({gender:‘f‘},true) // 删除一行
2.改 update操作
改谁?查询表达式
改成怎么样?--新值或赋值表达式
操作选项--可选参数
修改整个文档
db.stu.update({name:‘dalang‘},{‘name‘:‘wudalang‘})
如果是想修改文档的某列,可以用$set关键字
db.collectionName.update(query,{$set:{name:‘QQ‘}})
$set 修改某个列的值
$unset删除某个列
$rename 重命名某个列
$inc 增长某个列的值
例子
db.stu.insert({
name:‘wukong‘,
jinggu:true,
gender:‘f‘,
age:500
})
db.stu.update({name:‘wukong‘},{$set:{name:‘dzsf‘}},{$unset:{jinggu:1}},{$rename:{gender:‘sex‘}},{$inc:{age:1}})
第三个参数
(upsert:true/false,multi:true/false)
Upsert--是指有没有匹配行,则直接插入该行(和mysql中的replace一样)
db.stu.update({name:‘wuyong‘},{$set:{name:‘junshiwuyong‘}},{upsert:true})
$setOnInsert当upsert为true时,并且发生了insert操作时,可以补充的字段 2.4版本有的命令
db.stu.update({name:‘wuyong‘},{$set:{name:‘junshiwuyong‘},$setOnInsert:{gender:‘男‘}},{upsert:true})
multi--改多行,用这个选项
例
db.news.update({age:21},{$set:{age:22}},{multi:true})
则把news中所有age=21的文档都修改
11.查 findOne find
db.stu.find() 查询所有文档
db.stu.find({},{gender:1,_id:0}) // id默认是查询出来的,查询所有文档的gender属性,并且不查询_id熟悉
db.stu.find({gender:‘m‘},{name:1,_id:0}) // 查询所有gender属性值为m的文档中的name属性
以上是关于Mongodb学习的主要内容,如果未能解决你的问题,请参考以下文章