MongoDB Shell 命令

Posted BerMaker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB Shell 命令相关的知识,希望对你有一定的参考价值。

创建数据库

MongoDB 创建数据库的语法格式如下:

use DATABASE_NAME

如果数据库不存在,则创建数据库,否则切换到指定数据库。

如果你想查看所有数据库,可以使用 show dbs 命令:

show dbs

删除数据库

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

db.dropDatabase()

删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。

删除集合

集合删除语法格式如下:

db.collection.drop()

插入文档

文档的数据结构和JSON基本一样。
所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

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

db.COLLECTION_NAME.insert(document)

示例:

db.col.insert({"title": "个人主页", 
"description": "zhongchun的主页", 
"by": "zhongchun", 
"url": "http://yuzhongchun.com", 
"tags": [‘mongodb‘, ‘database‘, ‘NoSQL‘], 
"likes": 100})
document=({"title": "个人主页", "description": "zhongchun的主页", "by": "zhongchun", "url": "http://yuzhongchun.com", "tags": [‘mongodb‘, ‘database‘, ‘NoSQL‘], likes: 100})
// 执行后如下
{
    "title" : "个人主页",
    "description" : "zhongchun的主页",
    "by" : "zhongchun",
    "url" : "http://yuzhongchun.com",
    "tags" : [
        "mongodb",
        "database",
        "NoSQL"
    ],
    "likes" : 100
}
// 执行插入操作
db.col.insert(document)
WriteResult({ "nInserted" : 1 })

插入文档也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

更新文档

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

update() 方法

语法格式如下:

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.col.update({‘title‘: "个人主页"}, {$set:{‘title‘: "BerMaker"}})

save() 方法

语法格式如下:

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

参数说明:

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

示例:

db.col.save({"_id" : ObjectId("59a6a3d4963d665550f6e2d2"), "title" : "不涸", "description": "zhongchun的主页"})

运行结果:

> db.col.find().pretty()
{
    "_id" : ObjectId("59a6a3d4963d665550f6e2d2"),
    "title" : "不涸",
    "description" : "zhongchun的主页"
}

删除文档

备份与还原

mongodump -h 10.94.241.53 --port 8017 -d boundary_tool -o /home/map/data/mongo/201708301810
mongorestore -h 10.101.44.169 --port 27017 -d boundary_tool --drop /home/wuzhibin/yuzhongchun/data/mongo/boundary_tool

drop 表示先删除所有的记录,然后恢复。

单表导出与导入

导出

mongoexport --host 10.206.210.30 --port 27019 --db boundary_tool --collection boundary --out boundary.json

导入

mongoimport --host 127.0.0.1 --port 8017 --db boundary_tool --collection boundary --file boundary.json

参考

  1. mongodb 数据库操作--备份 还原 导出 导入


以上是关于MongoDB Shell 命令的主要内容,如果未能解决你的问题,请参考以下文章

怎么启动mongodb shell

MongoDB shell 介绍

MongoDB 命令 (MongoDB Shell)

怎样在linux的shell脚本中连接mongodb插入

怎样在linux的shell脚本中连接mongodb插入

如何将代码片段存储在 mongodb 中?