Madeeha
Madeeha

Reputation: 183

How to update a collection in mobgo db

I am trying to update a collection value with _id 5af5968e17abd4901f4ecfdb.

Query executed:

db.genericcrosssell.config.update(
    {_id: '5af5968e17abd4901f4ecfdb'}, 
    {$set: {
        "HOTEL_ISSUANCE_EMAIL:{"USE_QUOTATION":1,"CAR_RENTAL":0},
        "HOTEL_MY_BOOKING":{"USE_QUOTATION":1,"CAR_RENTAL":0},
        "HOTEL_PUSH_NOTIFICATION":{"USE_QUOTATION":0,"CAR_RENTAL":0},
        "HOTEL_ISSUING_TRANSITION":{"USE_QUOTATION":0,"CAR_RENTAL":0},
        "HOTEL_UPCOMING_TRIP":{"USE_QUOTATION":1,"CAR_RENTAL":0}
    }}
)

Getting output as:

 WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })

On executing following query, I am getting response.

db.genericcrosssell.config.find().pretty()

Output:

{
    "_id" : ObjectId("5af5968e17abd4901f4ecfdb"),
    "FLIGHT_ISSUANCE_EMAIL" : {
        "USE_QUOTATION" : 1
    },
    "HOTEL_ISSUANCE_EMAIL" : {
        "USE_QUOTATION" : 1,
        "CAR_RENTAL" : 100
    }
}

Quoted only 2 values here.

Upvotes: 1

Views: 44

Answers (1)

Dexter
Dexter

Reputation: 982

You must pass objectid while passing the value:

Try this:

db.genericcrosssell.config.update({_id: ObjectId('5af5968e17abd4901f4ecfdb')}, 
{$set: {"HOTEL_ISSUANCE_EMAIL":{"USE_QUOTATION":1,"CAR_RENTAL":0},"HOTEL_MY_BOOKING":{"USE_QUOTATION":1,"CAR_RENTAL":0},"HOTEL_PUSH_NOTIFICATION":{"USE_QUOTATION":0,"CAR_RENTAL":0},"HOTEL_ISSUING_TRANSITION":{"USE_QUOTATION":0,"CAR_RENTAL":0},"HOTEL_UPCOMING_TRIP":{"USE_QUOTATION":1,"CAR_RENTAL":0}}})

Upvotes: 4

Related Questions