mongodb概念

2023-03-01 18:59:42 浏览数 (1)

理解Mongo中的一些概念:

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

table joins

表连接,MongoDB不支持

primary key

primary key

主键,MongoDB自动将_id字段设置为主键

https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

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

RDBMS

MongoDB

数据库

数据库

表格

集合

文档

字段

表联合

嵌入文档

主键

主键 (MongoDB 提供了 key 为 _id )

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

代码语言:javascript复制
{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.runoob.com","name":"菜鸟教程","num":5}

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

命令

代码语言:javascript复制
 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 人点赞