公司主页
产品中心
企业介绍
关于我们
Blog
mongodb 常用命令 ============== ### MongoDB 创建数据库 ``` use DATABASE_NAME ``` * 如果数据库不存在,则创建数据库,否则切换到指定数据库 ### 查看所有数据库 ``` show dbs ``` ### 删除数据库 ``` db.dropDatabase() ``` * 选中数据库后执行 ### 创建集合 ``` db.createCollection(name, options) ``` * name: 要创建的集合名称 * options: 可选参数, 指定有关内存大小及索引的选项 options 可以是如下参数: | 字段 | 类型 | 描述 | | :---------- | :--- | :----------------------------------------------------------- | | capped | 布尔 | (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。 **当该值为 true 时,必须指定 size 参数。** | | autoIndexId | 布尔 | 3.2 之后不再支持该参数。(可选)如为 true,自动在 _id 字段创建索引。默认为 false。 | | size | 数值 | (可选)为固定集合指定一个最大值,即字节数。 **如果 capped 为 true,也需要指定该字段。** | | max | 数值 | (可选)指定固定集合中包含文档的最大数量。 | ### 查看集合 ``` show collections ``` ### 删除集合 ``` db.collection.drop() ``` * collection集合名 ### 插入文档 db.collection.insertOne() 用于向集合插入一个新文档 ``` db.collection.insertOne( <document>, { writeConcern: <document> } ) ``` db.collection.insertMany() 用于向集合插入一个多个文档 ``` db.collection.insertMany( [ <document 1> , <document 2>, ... ], { writeConcern: <document>, ordered: <boolean> } ) ``` - document:要写入的文档。 {kay:value} - writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。 - ordered:指定是否按顺序写入,默认 true,按顺序写入。 ### 更新文档 ``` db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } ) ``` - query: update的查询条件,类似sql update查询内where后面的。 - update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 - upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 - multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 - writeConcern :可选,抛出异常的级别。 ``` db.collection.save( <document>, { writeConcern: <document> } ) ``` - document : 文档数据。 - writeConcern :可选,抛出异常的级别。 ### 删除文档 ``` db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } ) ``` - query :(可选)删除的文档的条件。 - justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。 - writeConcern :(可选)抛出异常的级 ### 查询文档 ``` db.collection.find(query, projection) ``` - query :可选,使用查询操作符指定查询条件 - projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。 ### 条件操作符 - (>) 大于 - $gt - (<) 小于 - $lt - (>=) 大于等于 - $gte - (<= ) 小于等于 - $lte ### Limit与Skip方法 ``` limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。 db.COLLECTION_NAME.find().limit(NUMBER) ``` * NUMBER:数字参数 ``` skip方法接受一个数字参数作为跳过的记录条数。 db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER) ``` * NUMBER:数字参数 ### 排序 ``` sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。 db.COLLECTION_NAME.find().sort({KEY:1}) ``` * KEY: 字段名 ## 备份(mongodump)与恢复(mongorestore) ``` mongodump -h dbhost -d dbname -o dbdirectory ``` - h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 - -d:需要备份的数据库实例,例如:test - -o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。 mongodump 命令可选参数列表如下所示: | 语法 | 描述 | 实例 | | :------------------------------------------------ | :----------------------------- | :----------------------------------------------- | | mongodump --host HOST_NAME --port PORT_NUMBER | 该命令将备份所有MongoDB数据 | mongodump --host runoob.com --port 27017 | | mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY | | mongodump --dbpath /data/db/ --out /data/backup/ | | mongodump --collection COLLECTION --db DB_NAME | 该命令将备份指定数据库的集合。 | mongodump --collection mycol --db test | ``` mongorestore -h <hostname><:port> -d dbname <path> ``` - --host <:port>, -h <:port>:MongoDB所在服务器地址,默认为: localhost:27017 - --db , -d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2 - --drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦! - `<path>`:mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。 - --dir:指定备份的目录,你不能同时指定 <path> 和 --dir 选项。
zpy 2020-09-12 11:23:37.005000
北京大奥世纪网络科技有限公司
邮箱: daaoshiji@daaoshiji.cn
电话: 18510238382
地址: 北京市朝阳区王四营乡人民日报印刷厂房2层206室