The WriteResult from an upsert displays in the shell like so:
res = db.c.update(..., ..., {upsert: true})
|
printjson(res)
|
{
|
"nMatched" : 0,
|
"nUpserted" : 1,
|
"nModified" : 0,
|
"_id" : ObjectId("5ca4b9271da31f1c4f6cc755")
|
}
|
However attempting to access the _id returns undefined:
printjson(res._id)
|
undefined
|
The returned _id can be accessed as res.getUpsertedId()._id, but the value printed for res and the documentation indicate that it should be available as res._id.