Python 是否可以在tinydb上输入文档id?有可能进行一次升级吗?

Python 是否可以在tinydb上输入文档id?有可能进行一次升级吗?,python,tinydb,Python,Tinydb,将文档插入TinyDB数据库时,是否可以定义文档id? 例如(来自教程) 但如果我们看到生成的文档: {"_default": {"1": {"int": 1, "char": "a"}, "2": {"int": 1, "char": "b"}}} 诸如“1”和“2”之类的ID,其中由TinyDB自动决定。在插入文档时,是否仍可以选择该id? 此外,是否可以进行一次上插 谢谢!:) 是的,您可以选择内部id 这是输出: {"_default": {"12&qu

将文档插入TinyDB数据库时,是否可以定义文档id? 例如(来自教程)

但如果我们看到生成的文档:

{"_default": {"1": {"int": 1, "char": "a"}, "2": {"int": 1, "char": "b"}}}
诸如“1”和“2”之类的ID,其中由TinyDB自动决定。在插入文档时,是否仍可以选择该id? 此外,是否可以进行一次上插


谢谢!:)

是的,您可以选择内部id

这是输出:

 {"_default": {"12": {"name": "John", "age": 22}}}
是的,这也适用于


你为什么要这么做?这些钥匙供tinydb内部使用。如果你想过滤,有一些特殊的功能。我只想保留一份文档的副本,如果需要的话,以后再更新。所以,如果我不能管理它的ID。。。那么我不能保证这些文档是唯一的。你为什么不在字典中添加一个额外的id来识别文档呢?
 from tinydb import table, TinyDB, Query
 
 db = TinyDB('db.json')
 db.insert(table.Document({'name': 'John', 'age': 22}, doc_id=12))
 {"_default": {"12": {"name": "John", "age": 22}}}
User = Query()
db.upsert(table.Document({'name': 'John', 'age': 50}, doc_id=12), User.name == 'John')