flask_mongoengine中用什么字段存储json格式的数据
时间: 2023-07-09 16:20:14 浏览: 139
在 Flask+MongoDB 项目中,可以使用 mongoengine 库来连接 MongoDB 数据库,并使用 DictField 字段类型来存储 JSON 格式的数据。DictField 字段类型是 mongoengine 库提供的一种特殊的字段类型,可以存储任意复杂的 Python 字典类型,也就是 JSON 数据。
以下是一个示例代码:
```python
from flask import Flask
from flask_mongoengine import MongoEngine
app = Flask(__name__)
app.config["MONGODB_SETTINGS"] = {
"db": "mydatabase",
"host": "localhost",
"port": 27017
}
db = MongoEngine(app)
# 定义数据模型
class User(db.Document):
name = db.StringField()
data = db.DictField()
# 创建并保存 JSON 数据
data = {"name": "John", "age": 30, "city": "New York"}
user = User(name="John", data=data)
user.save()
# 查询数据
user = User.objects(name="John").first()
json_data = user.data
print(json_data)
```
在上面的代码中,我们定义了一个 User 模型,其中 data 字段是 DictField 类型,可以用来存储 JSON 数据。在创建并保存数据时,我们将 JSON 数据直接保存到 data 字段中。在查询数据时,我们将 data 字段的值作为 Python 字典类型进行操作,也就是 JSON 数据。
阅读全文