Mongodb学习

Posted chenminghe3496

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb学习相关的知识,希望对你有一定的参考价值。

mongodb安装和GUI操作界面

官网下载3.6版本,下一步下一步安装就行

启动数据库到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下查看磁盘占用


 


mongodb命令说明

bsondump 导出bson结构

mongo 客户端(相当于mysqlexe)

mogod服务器端(相当于mysqldexe)

mongodump数据库尔二进制导出mysqldump

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学习的主要内容,如果未能解决你的问题,请参考以下文章

远程学习:MongoDB 在线学习资源速览

mongoDB 学习八

Mongodb 学习笔记

MongoDB快速入门学习笔记1 windows安装MongoDB

mongoDB 学习三

MongoDB 学习笔记二:安装MongoDB