Можно ли ввести идентификатор документа на tinydb? возможен ли упадок сил?
Можно определить идентификатор документа при вставке документа в базу данных TinyDB? например (из учебника) 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'}
но если мы увидим сгенерированный документ:
{"_default": {"1": {"int": 1, "char": "a"}, "2": {"int": 1, "char": "b"}}}
идентификаторы, такие как "1" и "2", где автоматически определяется TinyDB. есть ли способ выбрать этот идентификатор при вставке документа? Кроме того, можно сделать upsert?
Спасибо!:)
0 ответов
Да, вы можете выбрать внутренний идентификатор doc_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}}}
И да, это также работает с upsert
.
User = Query()
db.upsert(table.Document({'name': 'John', 'age': 50}, doc_id=12), User.name == 'John')