Mongodb Adding A New Field In An Existing Document, With Specific Position
I am facing this issue where I need to insert a new field in an existing document at a specific position. Sample document: { 'name': 'user', 'age' : '21', 'designation': 'Developer
Solution 1:
Here's what you can do, first take the document as a dict
, then we will determine the index of age
and then we will do some indexing, look below:
>>> dic = { "name": "user", "age" : "21", "designation": "Developer" }
>>> dic['university'] = 'ASU'>>> dic
{'name': 'user', 'age': '21', 'designation': 'Developer', 'university': 'ASU'}
Added the university field, now we will do some exchanging by using dic.items()
.
>>> i = list(dic.items())
>>> i
[('name', 'user'), ('age', '21'), ('designation', 'Developer'), ('university', 'ASU')]
#now we will acquire index of 'age' field>>> index = [j for j inrange(len(i)) if'age'in i[j]][0]
#it will return list of single val from which we will index the val for simplicity using [0]>>> index
1#insert the last element ('university') below the age field, so we need to increment the index>>> i.insert(index+1,i[-1])
# then we will create dictionary by removing the last element which is already inserted below age>>> dict(i[:-1])
{'name': 'user', 'age': '21', 'university': 'ASU', 'designation': 'Developer'}
Post a Comment for "Mongodb Adding A New Field In An Existing Document, With Specific Position"