mongodb概念

sql 寻梦 5年前 (2019-06-20) 629次浏览 0个评论 扫描二维码

理解Mongo中的一些概念:

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键
https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

文档是一组键值(key-value)对MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点,下表列出了 RDBMS 与 MongoDB 对应的术语:

RDBMSMongoDB
数据库数据库
表格集合
文档
字段
表联合嵌入文档
主键主键 (MongoDB 提供了 key 为 _id )

集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management System)中的表格。
集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
比如,我们可以将以下不同数据结构的文档插入到集合中:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.runoob.com","name":"菜鸟教程","num":5}

当第一个文档插入时,集合就会被创建。

命令

 db.createUser({user: "root", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})    #添加管理员
db.dropUser(<user_name>)   #删除管理员
mongo -uadmin -p123456 #登陆
show dbs #查看所有数据库的列表
db # 显示当前数据库对象或集合
use local #连接到指定数据库 或者 创建数据库
db.dropDatabase() #删除数据库

db.test.insert({"name":"dream"}) #插入文档(test表示集合)(数据类型就是BSON,JSON的扩展,支持的值更加丰富,可以使用js批量插入)
show collections 或 show tables #查看集合
db.test.find() #查看集合里的所有文档
db.test.findOne() #查看集合里的第一个文档
db.test.remove({条件}) #删除文档(db.test.remove({"name":qcy})删除name=qcy)
db.collection.drop() #删除集合
原有数据库
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
喜欢 (0)
[支付宝扫码,感谢支持]
分享 (0)
关于作者:

您必须 登录 才能发表评论!