查看数据库列表 show dbs
查看当前数据库 db
创建/切换数据库 use <DATABASE_NAME>
数据库命名限制[来自官方文档]
-
不要依赖大小写来区分数据库。例如,您不能使用名称为
salesData
和 的两个数据库SalesData
。在 MongoDB 中创建数据库后,在引用它时必须使用一致的大小写。例如,如果您创建
salesData
数据库,请不要使用替代大写形式来引用它,例如salesdata
orSalesData
。
-
集合名称应以下划线或字母字符开头,并且不能:
- 包含
$
. - 是一个空字符串(例如
""
)。 - 包含空字符。
- 以前缀开头
system.
。(保留供内部使用。)
如果您的集合名称包含特殊字符(例如下划线字符)或以数字开头,则要访问该集合,请使用
db.getCollection()
方法在mongosh
或一个您的驱动程序的类似方法.命名空间长度:
- 包含
-
- 字段名称不能包含该
null
字符。 - 服务器允许存储包含点 (
.
) 和美元符号 ($
) 的字段名称。 - MongodB 5.0 添加了对在字段名称中使用 (
$
) 和 ( )的改进支持。.
有一些限制。看 字段名称注意事项更多细节。
- 字段名称不能包含该
命名警告
MongoDB 不支持重复的字段名称
MongoDB 查询语言在具有重复字段名称的文档上未定义。BSON 构建器可能支持创建具有重复字段名称的 BSON 文档。虽然 BSON 构建器可能不会抛出错误,但即使插入成功,也不支持将这些文档插入 MongoDB。例如,通过 MongoDB 驱动程序插入具有重复字段名称的 BSON 文档可能会导致驱动程序在插入之前静默删除重复值。
$
美元符号 ( ) 和句点 ( .
)的进出口问题
从 MongoDB 5.0 开始,文档字段名称可以以美元 ( $
) 为前缀,并且可以包含句点 ( .
)。然而, mongoimport
和mongoexport
在某些使用这些字符的字段名称的情况下,可能无法按预期工作。
MongoDB 扩展 JSON v2 无法区分类型包装器和恰好与类型包装器同名的字段。不要在相应的 BSON 表示可能包含美元 ( $
) 前缀键的上下文中使用扩展 JSON 格式。这 数据库参考机制是这个一般规则的一个例外。
使用也有限制mongoimport
和 mongoexport
.
在字段名称中带有句点 ( )。由于 CSV 文件使用句点 ( .
) 来表示数据层次结构,.
因此字段名称中的句点 ( ) 将被误解为嵌套级别。
美元符号 ( $
) 和句点 ( .
)可能导致数据丢失
使用美元 ( $
) 前缀的字段名称或包含句点 ( .
) 的字段名称时,如果这些字段名称与未确认的写入 (写关注 w=0
) 在早于 MongoDB 5.0 的服务器上。
跑步时插入, 更新, 和 查找并修改 命令,与 5.0 兼容的驱动程序删除了对使用字段名称以美元 ( $
) 为前缀或包含句点 ( .
) 的文档的限制。这些字段名称在早期驱动程序版本中生成客户端错误。
无论驱动程序连接到的服务器版本如何,这些限制都会被删除。如果 5.0 驱动程序将文档发送到较旧的服务器,则该文档将被拒绝而不会发送错误。
命名空间
删除数据库
1、使用 use 命令切换到要删除的数据库
2、使用 db.dropDatabase()
删除当前数据库
创建集合
如果不存在集合 db.myNewGather.insert( { x: 1 } )
或者用MongoDB提供的 db.createCollection()
查看集合 show collections
删除集合 db.集合名称.drop()
BSON 类型
BSON是一种二进制序列化格式,用于在 MongoDB 中存储文档和进行远程过程调用。BSON 规范位于bsonspec.org.
每种 BSON 类型都有整数和字符串标识符,如下表所示:
类型 | 数字 | 别名 | 笔记 |
---|---|---|---|
Double | 1 | "double" | |
String | 2 | "string" | |
Object | 3 | "object" | |
Array | 4 | "array" | |
Binary data | 5 | "binData" | |
Undefined | 6 | "undefined" | Deprecated. |
ObjectId | 7 | "objectId" | |
Boolean | 8 | "bool" | |
Date | 9 | "date" | |
Null | 10 | "null" | |
Regular Expression | 11 | "regex" | |
DBPointer | 12 | "dbPointer" | Deprecated. |
JavaScript | 13 | "javascript" | |
Symbol | 14 | "symbol" | Deprecated. |
JavaScript code with scope | 15 | "javascriptWithScope" | Deprecated in MongoDB 4.4. |
32-bit integer | 16 | "int" | |
Timestamp | 17 | "timestamp" | |
64-bit integer | 18 | "long" | |
Decimal128 | 19 | "decimal" | New in version 3.4. |
Min key | -1 | "minKey" | |
Max key | 127 | "maxKey" |
本文正在参加「技术专题19期 漫谈数据库技术」活动