TinyDB - Document ID



TinyDB uses document ID, represented by doc_id, to access as well as modify the value of documents in a database. Here we will see how we can use this document_id for various operations.

Display Data using Document ID

We can use doc_id in get() method to display the data from a database. Its syntax is as follows −

db.get(doc_id = value)

Check for a Document in a Database

We can use doc_id in contains() method to check if a document is present in a database or not. Its syntax is given below −

db.contains(doc_id = value)

Update All Documents

We can use doc_id in update() method to update all the documents in a database with the given document IDs. Here is its syntax

db.update({key : value}, doc_ids = […])

Remove a Document

We can use doc_id in remove() method to remove a specific document or all the documents in a database with the given document IDs. Its syntax is given below −

db.remove(doc_ids = […])

Let's take a few examples to demonstrate how you can use doc_id in TinyDB with these methods. We will use the same student database that we have used in all the previous chapters.

Example 1

Let's see how we can use doc_id to get the data of a specific document from a database −

from tinydb import TinyDB
db = TinyDB('student.json')
db.get(doc_id = 5)

It will fetch the data from the document with the doc_id "5".

{
   'roll_number': 5,
   'st_name': 'karan',
   'mark': 275,
   'subject': 'oracle',
   'address': 'benglore'
}

Example 2

Let's see how we can use doc_id to check if the database contains a document with a specific ID −

from tinydb import TinyDB
db = TinyDB('student.json')
db.contains(doc_id = 15)

Based on the availability of the document, it will return either True or False. In this case, our database does not have a document with the doc_id "15". Hence, it returns False.

False

Example 3

Let's see how we can use doc_id to update the documents of our database −

from tinydb import TinyDB
db = TinyDB('student.json')
db.update({'mark':'280'}, doc_ids = [4])

Here, we updated the "marks" field of the document with the doc_id "4". To check the updated data, use the following query −

print(db.get(doc_id=4))

It will display the updated data of the document with the doc_id "4" −

{
   'roll_number': 4,
   'st_name': 'lakan',
   'mark': '280',
   'subject': 'MySQL',
   'address': 'mumbai'
}

Example 4

Let's see how we can use doc_id to remove specific documents from our database −

from tinydb import TinyDB
db = TinyDB('student.json')
db.remove(doc_ids = [3,4])

Here, we removed two documents with doc_ids "3" and "4". To verify, use the following get() queries −

db.get(doc_id=3)
db.get(doc_id=4)

It will show the following output −

None
None

It means that we have successfully removed the documents with doc_ids "3" and "4".

Advertisements