Solución:
Puede intentar hacer algunas cosas si no desea manejar esto desde el código (he ejecutado el código a continuación directamente en mongo shell):
-
Si desea usar $ currentDate, use la actualización con upsert = true:
db.orders.update( {"_id":ObjectId()}, { $currentDate: { createtime: true } }, { upsert: true } )
Ahora generará el objectid en el servidor de la aplicación en lugar de la fecha / hora (a menos que use el comando sin procesar).
-
Utilice la nueva marca de tiempo o el objeto de fecha directamente:
db.orders.insert( "createtime": new Timestamp() )
El problema con la mayoría de los controladores será asegurarse de que el nuevo objeto se cree en el servidor mondodb, no en la máquina donde se está ejecutando el código. Es de esperar que su controlador permita ejecutar el comando de inserción sin formato.
Ambos servirán para evitar diferencias de tiempo / problemas de sincronización de tiempo entre las máquinas del servidor de aplicaciones.