Suhas Gosavi
Suhas Gosavi

Reputation: 2170

How to Update Doc in Cloudant no sql-db

I am following Link to integrate cloudant no sql-db.

There are methods given create DB, Find all, count, search, update. Now I want to update one key value in one of my DB doc file. how Can i achieve that. Document shows like

updateDoc (name, doc) Arguments: name - database name docID - document to update

but when i pass my database name and doc ID its throwing database already created can not create db. But i wanted to updated doc. So can anyone help me out.

Below is one of the doc of may table 'employee_table' for reference -

{
     "_id": "0b6459f8d368db408140ddc09bb30d19",
     "_rev": "1-6fe6413eef59d0b9c5ab5344dc642bb1",
     "Reporting_Manager": "sdasd",
     "Designation": "asdasd",
     "Access_Level": 2,
     "Employee_ID": 123123,
     "Employee_Name": "Suhas",
     "Project_Name": "asdasd",
     "Password": "asda",
     "Location": "asdasd",
     "Project_Manager": "asdas"
}

So I want to update some values from above doc file of my table 'employee_table'. So what parameters I have to pass to update.

Upvotes: 0

Views: 255

Answers (1)

DaenKhaleesi
DaenKhaleesi

Reputation: 189

first of all , there is no concept named table in no sql world.

second, to update document first you need to get document based on any input field of document. you can also use Employee_ID or some other document field. then use database.get_query_result

db_name = 'Employee'
database = client.create_database(db_name,throw_on_exists=False)
EmployeeIDValue = '123123'
#here throw_on_exists=False meaning dont throw error if DB already present

def updateDoc (database, EmployeeIDValue):     
    results = database.get_query_result(
                    selector= { 'Employee_ID': {'$eq': EmployeeIDValue} }, )
    for result in results:
        my_doc_id = result["_id"]

    my_doc = database[my_doc_id] #===> this give you your document.

     '''Now you can do update'''
    my_doc['Employee_Name'] = 'XYZ'
    my_doc.save() ====> this command updates current document

Upvotes: 0

Related Questions