MongoDB 中的文档数据类型及其在 Python 中的使用

2023-04-15 00:00:00 mongodb 文档 数据类型

文档是 MongoDB 的基本数据单元,采用类似 JSON 的格式存储。文档由多个键值对组成,其中值可以是数字、布尔值、数组、对象等多种数据类型。下面介绍 MongoDB 中常见的文档数据类型及其在 Python 中的使用:

  1. 字符串(string)

字符串是指一串字符组成的数据,用双引号或单引号括起来。在 MongoDB 中,使用UTF-8编码存储字符串。

在 Python 中,可以使用 str 或 unicode 类型表示字符串。如下代码演示了在Python中插入一个字符串类型的文档到MongoDB中:

import pymongo

client = pymongo.MongoClient()

db = client['test']

collection = db['example']

doc = {
    'title': 'MongoDB 教程',
    'content': 'pidancode.com 提供最优质的编程教程。',
    'tags': ['MongoDB', 'Python', '编程']
}

collection.insert_one(doc)
  1. 数值(number)

数值类型包括整型和浮点型,MongoDB 中的数值类型与 Python 中的数值类型相同。

下面的代码演示了在Python中插入一个整型和一个浮点型的文档到MongoDB中:

import pymongo

client = pymongo.MongoClient()

db = client['test']

collection = db['example']

doc = {
    'int_value': 168,
    'float_value': 3.1415
}

collection.insert_one(doc)
  1. 布尔值(boolean)

布尔值类型有两个值:true 和 false,用来表示逻辑真假。在 MongoDB 中,布尔值可以用 true 或 false 表示。

在 Python 中,可以使用 bool 类型表示布尔值。下面的代码演示了在Python中插入一个布尔值类型的文档到MongoDB中:

import pymongo

client = pymongo.MongoClient()

db = client['test']

collection = db['example']

doc = {
    'is_succeed': True,
    'is_python': False
}

collection.insert_one(doc)
  1. 数组(array)

数组是一组值的序列,可以包含多种类型的元素,元素的顺序固定。在 MongoDB 中,可以使用 [] 表示数组。

在 Python 中,可以使用 list 类型表示数组。下面的代码演示了在Python中插入一个数组类型的文档到MongoDB中:

import pymongo

client = pymongo.MongoClient()

db = client['test']

collection = db['example']

doc = {
    'colors': ['red', 'green', 'blue'],
    'numbers': [1, 2, 3, 4, 5]
}

collection.insert_one(doc)
  1. 对象(object)

对象是一个键值对的集合,可以包含多种类型的元素。在 MongoDB 中,可以使用 {} 表示对象。

在 Python 中,可以使用 dict 类型表示对象。下面的代码演示了在Python中插入一个对象类型的文档到MongoDB中:

import pymongo

client = pymongo.MongoClient()

db = client['test']

collection = db['example']

doc = {
    'person': {
        'name': 'Tom',
        'age': 18,
        'address': {
            'city': 'Shanghai',
            'zipcode': '200000'
        }
    }
}

collection.insert_one(doc)

以上就是 MongoDB 中常见的文档数据类型及其在 Python 中的使用。除了上述几种类型,MongoDB 还包括日期类型(date)、正则表达式类型(regex)等。如果需要使用这些数据类型,请参考官方文档。

相关文章