Python MongoDB 数据类型简介
在 MongoDB 中,数据以 BSON(Binary JSON)格式存储,BSON 类似于 JSON,但支持更多数据类型。
以下是 MongoDB 支持的数据类型及其简要描述:
- Object ID:唯一标识符,用于标识 MongoDB 中的文档。
- String:表示文本数据。
- Integer:表示整数。
- Double:表示双精度浮点数。
- Boolean:表示布尔值。
- Date:表示日期时间。
- Null:表示空值。
- Array:表示数组或列表。
- Object:表示嵌套文档。
以下是上述数据类型的代码演示:
Object ID
# 导入 pymongo import pymongo from bson.objectid import ObjectId # 创建 MongoClient client = pymongo.MongoClient() # 选择数据库 mydatabase db = client["mydatabase"] # 选择集合 customers collection = db["customers"] # 插入一条记录 doc = { "_id": ObjectId(), "name": "John", "address": "Highway 37" } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"_id": doc["_id"]}) print(result)
输出:
{'_id': ObjectId('5eb9e7f057ff2c1b7e456728'), 'name': 'John', 'address': 'Highway 37'}
String
# 插入一条记录 doc = { "name": "pidancode.com", "email": "pidancode@gmail.com" } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"name": "pidancode.com"}) print(result)
输出:
{'_id': ObjectId('5eb9e7f157ff2c1b7e456729'), 'name': 'pidancode.com', 'email': 'pidancode@gmail.com'}
Integer
# 插入一条记录 doc = { "quantity": 3, "item": "book", "price": 9.99 } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"quantity": 3}) print(result)
输出:
{'_id': ObjectId('5eb9e7f257ff2c1b7e45672a'), 'quantity': 3, 'item': 'book', 'price': 9.99}
Double
# 插入一条记录 doc = { "name": "皮蛋编程", "income": 2563.45 } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"name": "皮蛋编程"}) print(result)
输出:
{'_id': ObjectId('5eb9e7f357ff2c1b7e45672b'), 'name': '皮蛋编程', 'income': 2563.45}
Boolean
# 插入一条记录 doc = { "name": "John", "is_student": True } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"is_student": True}) print(result)
输出:
{'_id': ObjectId('5eb9e7f457ff2c1b7e45672c'), 'name': 'John', 'is_student': True}
Date
# 导入 datetime from datetime import datetime # 插入一条记录 doc = { "name": "John", "birth_date": datetime(1990, 1, 1) } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"name": "John"}) print(result)
输出:
{'_id': ObjectId('5eb9e7f557ff2c1b7e45672d'), 'name': 'John', 'birth_date': datetime.datetime(1990, 1, 1, 0, 0)}
Null
# 插入一条记录 doc = { "name": "Jack", "phone": None } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"name": "Jack"}) print(result)
输出:
{'_id': ObjectId('5eb9e7f657ff2c1b7e45672e'), 'name': 'Jack', 'phone': None}
Array
# 插入一条记录 doc = { "name": "John", "interests": ["music", "sports"] } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"name": "John"}) print(result)
输出:
{'_id': ObjectId('5eb9e7f757ff2c1b7e45672f'), 'name': 'John', 'interests': ['music', 'sports']}
Object
# 插入一条记录 doc = { "name": "John", "address": { "city": "New York", "state": "New York", "zip": "10001" } } collection.insert_one(doc) # 查找一条记录 result = collection.find_one({"name": "John"}) print(result)
输出:
{'_id': ObjectId('5eb9e7f857ff2c1b7e456730'), 'name': 'John', 'address': {'city': 'New York', 'state': 'New York', 'zip': '10001'}}
相关文章