设为首页 收藏本站
查看: 1337|回复: 0

[经验分享] MongoDB 的创建、查询、更新、删除

[复制链接]

尚未签到

发表于 2017-12-15 23:36:07 | 显示全部楼层 |阅读模式
  MongoDB数据库中,创建、查询、更新、删除操作的对象是集合。
  1.查看某个数据库中有哪些集合,在此之前需要使用数据库
  

C:\Windows\system32>mongo  
MongoDB shell version:
3.2.10  
connecting
to: test  

> db  
test
  

> show dbs;  
chengdu  
0.004GB  
first   
0.000GB  
local   
0.000GB  

> use first;  
switched
to db first  

> show collections;  
blog
  
col
  
runoob
  

>  

  命令解释:   
  mongo ---> 连接数据库, 在执行之前确保MongoDB数据库服务开启了
  db  ---> 查看当前正在使用的数据库
  show dbs   --> 查看本地磁盘上那些数据库
  use  [DatabaseName]  --> 使用某个(DatebaseName)数据库,若该数据库不存在,则首先创建数据库再使用
  show  collections  -->查看当前数据库中的集合
  2. 向集合中插入一条数据
  

> show collections;  
blog
  
col
  
runoob
  

> db  
first
  

> user = { 'name':'chengdu',  
...        
'sex' : 'M',  
...        
'age' :  22 }  
{ "name" : "chengdu", "sex" : "M", "age" :
22 }  

> db.users.insert(user);  
WriteResult({ "nInserted" :
1 })  

> show collections;  
blog
  
col
  
runoob
  
users
  

>  

  首先创建了一个文档对象user,然后再将文档user插入集合users
  命令解释:   
  > user = { 'name':'chengdu',
  ...        'sex' : 'M',
  ...        'age' :  22 }
  { "name" : "chengdu", "sex" : "M", "age" : 22 }   --> 创建一个文档对象 user
  db.users.insert(user)  -->向集合users中插入文档user,  如果集合users不存在,则先创建集合, 然后再插入文档对象
  3.查询当当前集合中的文档对象,有两个方法  find() 和 findOne()。find()查看所有的文档对象,但在shell中最多显示20个。 findOne()查看第一个文档对象,只返回一个文档对象。
  

> db.users.find();  
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" :
22 }  

> db.users.findOne();  
{
  "_id" : ObjectId("584eafa97629396db95535da"),
  "name" : "chengdu",
  "sex" : "M",
  "age" :
22  
}
  

>  

  具体查询某个文档对象,带参数的查询
  

> db.users.find({'name':'chengdu'});  
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" :
22 }  

> db.users.findOne({'name':'chengdu'});  
{
  "_id" : ObjectId("584eafa97629396db95535da"),
  "name" : "chengdu",
  "sex" : "M",
  "age" :
22  
}
  

>  

  4.更新集合中的某个文档对象
  

> user = { 'name' : 'cd',  
...        
'sex' : 'M',  
...        
'age' : 22 }  
{ "name" : "cd", "sex" : "M", "age" :
22 }  

> db.users.update({'name' : 'chengdu'}, user);  
WriteResult({ "nMatched" :
1, "nUpserted" : 0, "nModified" : 1 })  

> db.users.find();  
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" :
22 }  

>  

  使用update语句更新原来集合中name为chengdu的文档对象,更新之后 name变为cd
  在文档对象上增加一个键
  

> user  
{ "name" : "cd", "sex" : "M", "age" :
22 }  

> user.address = 'Shanghai';  
Shanghai
  

> user  
{ "name" : "cd", "sex" : "M", "age" :
22, "address" : "Shanghai" }  

> db.users.update({'name':'cd'}, user);  
WriteResult({ "nMatched" :
1, "nUpserted" : 0, "nModified" : 1 })  

> db.users.find();  
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" :
22, "address" : "Shanghai" }  

>  

  5.删除某个文档对象,使用remove()方法
  

> user1 = { 'name' : 'xiaohong',  
...         
'sex' : 'F',  
...         
'age' : 22,  
...         
'address' : 'Beijing',  
...         
'qq' : '12345678'}  
{
  "name" : "xiaohong",
  "sex" : "F",
  "age" :
22,  "address" : "Beijing",
  "qq" : "
12345678"  
}
  

> db.users.insert(user1);  
WriteResult({ "nInserted" :
1 })  

> db.users.find();  
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" :
22, "address" : "Shanghai" }  
{ "_id" : ObjectId("584eb4bd7629396db95535db"), "name" : "xiaohong", "sex" : "F", "age" :
22, "address" : "Beijing", "qq" : "12345678" }  

> db.users.remove({'name' : 'xiaohong'});  
WriteResult({ "nRemoved" :
1 })  

> db.users.find();  
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" :
22, "address" : "Shanghai" }  

>  

  首先创建了一个文档对象,该文档对象的键和之前文档对象的键的数目不同,然后再将文档对象插入到集合中,MongoDB的一个集合中可以存储键数目不同的文档对象,即可以插入成功,然后使用remove方法将插入的文档删除。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424541-1-1.html 上篇帖子: python和mongodb简单交互 下篇帖子: 什么是MongoDB、特点、历史、下载和工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表