MongoDB学习笔记(2):数据库/集合/文档管理
来源:互联网 发布:绝对计划 知乎 编辑:程序博客网 时间:2024/05/19 09:02
数据库管理
创建数据库
MongoDB创建数据库的语法格式如下:
use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到指定数据库。
如果想查看所有数据库,可以使用 show dbs 命令。可以看到,新创建的数据库并不在数据库的列表中, 要显示它,需要向此数据库插入一些数据。
MongoDB 中默认的数据库为test,如果没有创建新的数据库,集合将存放在test数据库中。
删除数据库
MongoDB删除数据库的语法格式如下:
db.dropDatabase()
删除当前数据库,默认为test,你可以使用db命令查看当前数据库名。
集合管理
创建集合
在MongoDB中,不需要显式创建集合。当插入文档时,如果集合不存在会自动创建该集合并插入文档。如显式创建,语法格式如下:
db.createCollection(name, options)
name是要创建的集合的名称,options为可选参数,是一个文档,用于指定有关内存大小和索引选项。完整的命令如下:
db.createCollection(name,{ capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max<number>})
options参数中各选项说明如下,
- capped: 是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,这个参数没有实际意义
- autoIndexId: 是否使用_id作为索引,默认为使用(true或false)
- size: 限制集合使用空间的大小,默认为没有限制
- max: 集合中最大条数限制,默认为没有限制
(size的优先级比max要高)
如果想查看当前数据库所有集合,可以使用 show collections 命令。
删除集合
MongoDB删除集合的语法格式如下:
db.COLLECTION_NAME.drop()
文档管理
插入文档
文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document)
示例,
db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库' , tags: ['mongodb', 'database', 'NoSQL']})
查看已插入文档:
db.col.find()
使用pretty(),则显示内容有缩进:
db.col.find().pretty()
也可以将数据定义为一个变量,再执行插入操作。
document = ({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', tags: ['mongodb', 'database', 'NoSQL']});db.col.insert(document)
插入文档也可以使用 save() 方法 。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
更新文档
MongoDB使用 update() 和 save() 方法来更新集合中的文档。
update()方法用于更新已存在的文档。语法格式如下:
db.COLLECTION_NAME.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })
参数说明:
- query : update的查询条件,类似sql update查询内where后面的内容。
- update : update的对象和一些更新的操作符(如
, inc…)等,也可以理解为sql update查询内set后面的 内容。 - upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入。true为插入,默认是false,不插入。
- multi : 可选,默认是false,只更新找到的第一条记录。如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
示例,
db.col.update({‘title’:’MongoDB 教程’},{$set:{‘title’:’MongoDB’}})
save()方法通过传入的文档来替换已有文档。语法格式如下:
db.COLLECTION_NAME.save( <document>, { writeConcern: <document> })
参数说明:
- document : 文档数据。
- writeConcern : 可选,抛出异常的级别。
删除文档
MongoDB使用remove()函数移除集合中的数据。remove() 方法的基本语法格式如下所示:
db.COLLECTION_NAME.remove( <query>, { justOne: <boolean>, writeConcern: <document> })
参数说明:
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档。 不设此参数时,删除所有符合条件的文档。
- writeConcern :(可选)抛出异常的级别。
示例,
db.col.remove({‘title’:’MongoDB 教程’})
如果你只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:
db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
如果你想删除所有数据,可以使用以下方式(类似常规SQL的truncate 命令):
db.COLLECTION_NAME.remove({})
- MongoDB学习笔记(2):数据库/集合/文档管理
- mongodb 学习笔记之二 mongodb入门(数据库、文档和集合)
- MongoDB数据库、文档、集合
- MongoDB 文档、集合、数据库
- MongoDB自学笔记6---3.1 MongoDB文档、集合、数据库概念
- MongoDB学习笔记(四)MongoDB查询集合中的文档
- mongodb入门-2 文档、集合、数据库
- mongodb概念--文档、集合、数据库、shell
- MongoDB的文档、集合和数据库
- MongoDB初识之数据库、集合、文档
- mongodb操作--文档、集合、数据库、shell
- MongoDB文档翻译-引言-数据库和集合
- mongodb概念--文档、集合、数据库、shell
- mongodb概念--文档、集合、数据库、shell
- MongoDB的文档、集合和数据库
- MongoDB学习笔记2--MongoDB数据库中数据的导入
- MongoDB学习笔记(管理基础)
- MongoDB文档和集合
- WebRTC源码分析三:视频处理流程
- Android-主dex超过限制的解决方案-Too manyclasses in --main-dex-list, main dex capacity exceeded
- spark—submit
- 第5组UI组件:ProgressBar及其子类
- cuda基础线性代数库 cuBLAS使用
- MongoDB学习笔记(2):数据库/集合/文档管理
- tomcat不能正常启动: java.io.EOFException
- PB协议说明与使用
- WebRTC源码分析四:视频模块结构
- 加密方式-对称加密(AES)
- shell命令定时任务
- mybatis笔记精华
- 程序员必读书单 1.0
- 递归树的平面化实验