sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:inserte documentos con identificación específica en lugar de ObjectID generado automáticamente

Para su primer problema, MongoDB tiene upsert entonces

db.collection.update(
   {query for id},
   {document},
   {upsert: true}
)

o en el controlador Java

yourCollection.update(searchObject, modifiedObject, true, false);

Si desea establecer una ID personalizada, simplemente configure el _id clave manualmente, es decir,

yourBasicDBObject.put("_id",yourCustomId) 

solo tiene que asegurarse de que sea único para cada documento.

También deberá configurar el _id en su modifiedObject de lo contrario, se generará uno nuevo.

En cuanto a las operaciones a granel , simplemente configurando una ID personalizada para cada documento dando el _id la clave también debería funcionar.