将文档插入TinyDB数据库时可以定义文档ID吗?例如(来自教程)https://pypi.python.org/pypi/tinydb
from tinydb import TinyDB, where
from tinydb import TinyDB, where
db = TinyDB('./db.json')
db.insert({'int': 1, 'char': 'a'})
db.insert({'int': 1, 'char': 'b'}
Run Code Online (Sandbox Code Playgroud)
但如果我们看到生成的文档:
{"_default": {"1": {"int": 1, "char": "a"}, "2": {"int": 1, "char": "b"}}}
Run Code Online (Sandbox Code Playgroud)
诸如“1”和“2”之类的 id 由 TinyDB 自动决定。插入文档时是否可以选择该ID?另外,可以进行更新插入吗?
谢谢!:)
是的,您可以选择内部 id doc_id。
from tinydb import table, TinyDB, Query
db = TinyDB('db.json')
db.insert(table.Document({'name': 'John', 'age': 22}, doc_id=12))
Run Code Online (Sandbox Code Playgroud)
这是输出:
{"_default": {"12": {"name": "John", "age": 22}}}
Run Code Online (Sandbox Code Playgroud)
是的,这也适用于upsert.
User = Query()
db.upsert(table.Document({'name': 'John', 'age': 50}, doc_id=12), User.name == 'John')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2853 次 |
| 最近记录: |