asdf:PRIMARY> db.foo.insert({_id: Timestamp(0,0)})
|
WriteResult({ "nInserted" : 1 })
|
asdf:PRIMARY> db.foo.insert({_id: 1, x: Timestamp(0,0)})
|
WriteResult({ "nInserted" : 1 })
|
asdf:PRIMARY> db.foo.insert({_id: 2, w: 1, x: Timestamp(0,0)})
|
WriteResult({ "nInserted" : 1 })
|
asdf:PRIMARY> db.foo.find()
|
{ "_id" : Timestamp(0, 0) }
|
{ "_id" : 1, "x" : Timestamp(1566529153, 1) }
|
{ "_id" : 2, "w" : 1, "x" : Timestamp(1566529173, 1) }
|
The documentation says "Changed in version 2.6: Previously, the server would only replace empty timestamp values in the first two fields, including _id, of an inserted document. Now MongoDB will replace any top-level field." So either the server or the docs have a bug. https://docs.mongodb.com/manual/reference/bson-types/#timestamps
|