查看数据库列表 show dbs
查看当前数据库 db
创建/切换数据库 use <DATABASE_NAME>
数据库命名限制[来自官方文档]
-
不要依赖大小写来区分数据库。例如,您不能使用名称为
salesData和 的两个数据库SalesData。在 MongoDB 中创建数据库后,在引用它时必须使用一致的大小写。例如,如果您创建
salesData数据库,请不要使用替代大写形式来引用它,例如salesdataorSalesData。
-
集合名称应以下划线或字母字符开头,并且不能:
- 包含
$. - 是一个空字符串(例如
"")。 - 包含空字符。
- 以前缀开头
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期 漫谈数据库技术」活动