设为首页 加入收藏

TOP

MongoDB 概念理解、MongoDB shell 连接 Mongodb 服务
2017-12-14 14:32:29 】 浏览:193
Tags:MongoDB 概念 理解 shell 连接 Mongodb 服务

MongoDB 概念理解

这里写图片描述

MongoDB shell 连接 Mongodb 服务

标准 URI 连接语法:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

mongodb:// 这是固定的格式,必须要指定。
username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
portX 可选的指定端口,如果不填,默认为27017
/database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开 test 数据库。
?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

“show dbs” 命令可以显示所有数据的列表。

执行 “db” 命令可以显示当前数据库对象或集合。

运行”use”命令,可以连接到一个指定的数据库或者创建数据库:

use DATABASE_NAME

刚创建的数据库 并不在数据库的列表(show dbs)中, 要显示它,我们需要向数据库插入一些数据。

MongoDB 删除数据库的语法格式如下:

db.dropDatabase()

删除集合

集合删除语法格式如下:
db.collection.drop()

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document)

文档document的数据结构和JSON基本一样。

所有存储在集合中的数据都是BSON格式。

BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

查看已插入文档:

db.col.find()
#如果想要以读友好的格式显示则格式如下:
db.col.find().pretty()

MongoDB 更新文档

MongoDB 使用 update() 和 save() 方法来更新集合中的文档。接下来让我们详细来看下两个函数的应用及其区别。

update() 方法
update() 方法用于更新已存在的文档。语法格式如下:

    db.collection.update(
       
  
   ,
       
   
    , { upsert: 
    
     , multi: 
     
      , writeConcern: 
      
        } ) 
      
     
    
   
  

参数说明:

query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。

save() 方法

save() 方法通过传入的文档来替换已有文档。语法格式如下:

db.collection.save(
   
  
   ,
   {
     writeConcern: 
   
     } ) 
   
  

参数说明:

document : 文档数据。
writeConcern :可选,抛出异常的级别。

官方推荐使用 deleteOne() 和 deleteMany() 方法。

如删除集合下全部文档:

db.COLLECTION_NAME.deleteMany({})

删除 status 等于 A 的全部文档:

db.COLLECTION_NAME.deleteMany({ status : "A" })

删除 status 等于 D 的一个文档:

db.COLLECTION_NAME.deleteOne( { status: "D" } )
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇如何通过mysql客户端快速创建数据.. 下一篇sql中could not extract ResultSe..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目