1. 数据库操作看完前面的文章,大家应该把环境搭建好了,下面我们就开始学习MongoDB的一些基本操作了。 首先我们要了解的一些要点:
其次就是SQL术语和MongoDB术语的对比: 学过MySQL的同学就很好对比了,三个主要的:数据库、集合、文档
文档:就是一个对象,由键值对构成,是json的扩展Bson形式。 {'name':'guojing','gender':'男'} 集合:类似于MySQL中的表,储存多个文档,结构不固定,如可以储存如下文档在一个集合中。 {'name':'guojing','gender':'男'} {'name':'huangrong','age':'18'} {'book':'shuihuzhuan','heros':'108'} 数据库:是一个集合的物理容器,一个数据库中可以包含多个文档。 一个服务器通常有多个数据库。 1.1 创建数据库MongoDB使用use DATABASE_NAME命令来创建数据库。如果指定的数据库DATABASE_NAME不存在,则该命令将创建一个新的数据库,否则返回现有的数据库。 语法: use DATABASE_NAME
如果要创建一个名称为newdb的数据库,那么使用use DATABASE_NAME语句将如下所示: > use newdb switched to db newdb 1.2 查看当前选择的数据库输入db命令就可查询: >db newdb 1.3 查看数据库列表如果要检查数据库列表,请使用命令show dbs。 >show dbs local 0.000025GB test 0.00002GB 创建的数据库newdb不在列表中。要显示数据库,需要至少插入一个文档,空的数据库是不显示出来的。 >db.items.insert({"name":"yiibai tutorials"}) >show dbs local 0.00005GB test 0.00002GB newdb 0.00002GB 在 MongoDB 中默认数据库是: 1.4 删除数据库MongoDB中的db.dropDatabase()命令用于删除现有的数据库。 db.dropDatabase() 这将删除当前所选数据库。 如果没有选择任何数据库,那么它将删除默认的test数据库。 删除例子: 首先,使用命令show dbs检查可用数据库的列表。 >show dbs local 0.00025GB newdb 0.0002GB test 0.00012GB > 如果要删除新数据库 >use newdb switched to db newdb >db.dropDatabase() >{ "dropped" : "newdb", "ok" : 1 } > 现在检查数据库列表 >show dbs local 0.00025GB test 0.0002GB > 2. 集合操作2.1 创建集合MongoDB 的db.createCollection(name , options)方法用于在MongoDB 中创建集合。 语法: db.createCollection(name, options) 在命令中,name是要创建的集合的名称。options是一个文档,用于指定集合的配置。 options参数是可选的,因此只需要指定集合的名称。 以下是可以使用的选项列表: 在插入文档时,MongoDB首先检查上限集合 例子: 没有使用选项的createCollection()方法的基本语法如下 : >use test switched to db test >db.createCollection("mycollection") { "ok" : 1 } > 可以使用命令show collections检查创建的集合。 >show collections mycollection 以下示例显示了createCollection()方法的语法,其中几个重要选项 > db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000 }) { "ok" : 1 } > 在MongoDB中,不需要创建集合。当插入一些文档时,MongoDB 会自动创建集合。 >db.newcollection.insert({"name" : "yiibaitutorials"}) >show collections mycol newcollection mycollection > 2.2 删除集合MongoDB 的db.collection.drop()用于从数据库中删除集合。 语法: db.COLLECTION_NAME.drop()
例子: 首先,检查数据库test中可用的集合。 >use test switched to db test > show collections mycol mycollection newcollection > 现在删除名称为mycollection的集合。 >db.mycollection.drop() true > 再次检查当前数据库的集合列表,如下: > show collections mycol newcollection > |
|