当前位置: 移动技术网 > IT编程>数据库>DB2 > MongoDB 概念理解、MongoDB shell 连接 Mongodb 服务

MongoDB 概念理解、MongoDB shell 连接 Mongodb 服务

2018年09月29日  | 移动技术网IT编程  | 我要评论

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" } )

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网