【mongodb】mongodb的字段类型
目录
1. 基本数据类型1.1 String1.2 Number1.3 Boolean1.4 Date1.5 Null1.6 ObjectId1.7 Array1.8 Binary Data1.9 Object
2. 特殊数据类型2.1 Regular Expression2.2 JavaScript2.3 Symbol2.4 Decimal1282.5 Timestamp2.6 MinKey/MaxKey2.7 DBPointer
3. 常用字段类型示例4. 注意事项
1. 基本数据类型
1.1 String
1.描述:字符串类型,用于存储文本数据,支持 UTF-8 编码。2.示例:“name”: “Alice”
1.2 Number
1.Int32/Int64: 整数类型(32 位或 64 位)。“age”: 302.示例:Double: 双精度浮点数。“height”: 1.75
1.3 Boolean
1.布尔类型,用于存储 true 或 false。2.示例:“isStudent”: true
1.4 Date
1.描述:日期类型,用于存储日期和时间,存储为 UTC 时间。2.示例:“createdAt”: ISODate(“2023-10-01T00:00:00Z”)
1.5 Null
1.描述:空值类型,用于表示字段值为空或不存在。2.示例:“middleName”: null
1.6 ObjectId
1.描述:唯一标识符类型,MongoDB 默认的 _id 字段类型,用于唯一标识文档。2.示例:“_id”: ObjectId(“6523f1c7e8b8d4a5b3c1d2e3”)
1.7 Array
1.描述:数组类型,用于存储一组值,可以是任意数据类型的混合。2.示例:“tags”: [“mongodb”, “database”, “nosql”]
1.8 Binary Data
1.描述:二进制数据类型,用于存储二进制数据(如图片、文件等)。2.示例:“imageData”: BinData(0, “base64data==”)
1.9 Object
1.描述:嵌套文档类型,用于存储嵌套的键值对(类似于 JSON 对象)。2.示例:“address”: { “city”: “New York”, “zip”: “10001” }
2. 特殊数据类型
2.1 Regular Expression
1.描述:正则表达式类型,用于存储正则表达式模式。2.示例:“pattern”: /ab*c/i
2.2 JavaScript
1.描述:JavaScript 代码类型,用于存储 JavaScript 代码或函数。2.示例:“script”: function() { return 1 + 1; }
2.3 Symbol
1.描述:符号类型,用于存储唯一的符号值(通常用于特定语言环境)。2.示例:“status”: Symbol(“active”)
2.4 Decimal128
1.描述:高精度十进制数类型,用于存储需要高精度的十进制数值。2.示例:“price”: Decimal128(“19.99”)
2.5 Timestamp
1.描述:时间戳类型,用于存储内部时间戳(与 Date 类型不同)。2.示例:“timestamp”: Timestamp(1696156800, 1)
2.6 MinKey/MaxKey
1.描述:特殊键类型,用于比较操作,分别表示最小值和最大值。2.示例:“rank”: MinKey 或 “rank”: MaxKey
2.7 DBPointer
1.描述:数据库指针类型,用于存储指向另一个集合中文档的引用(已不推荐使用)。2.示例:“ref”: DBPointer(“collectionName”, ObjectId(“…”))
3. 常用字段类型示例
{
"_id": ObjectId("6523f1c7e8b8d4a5b3c1d2e3"),
"name": "Alice",
"age": 30,
"height": 1.75,
"isStudent": true,
"createdAt": ISODate("2023-10-01T00:00:00Z"),
"middleName": null,
"tags": ["mongodb", "database", "nosql"],
"address": {
"city": "New York",
"zip": "10001"
},
"price": Decimal128("19.99"),
"status": "active"
}
4. 注意事项
1.灵活性:MongoDB 的文档结构是动态的,字段类型可以在不同文档中不同,甚至同一个文档中的字段类型也可以不同(虽然不推荐这样做)。2.类型检查:MongoDB 不会强制检查字段类型,但应用程序逻辑应确保数据的一致性。3.ObjectId:默认情况下,MongoDB 会为每个文档生成一个唯一的 _id 字段,类型为 ObjectId。