För ditt första problem har MongoDB upsert så
db.collection.update(
{query for id},
{document},
{upsert: true}
)
eller i Java-drivrutinen
yourCollection.update(searchObject, modifiedObject, true, false);
Om du vill ställa in ett anpassat ID ställer du bara in _id
tangenten manuellt, dvs.
yourBasicDBObject.put("_id",yourCustomId)
du måste bara se till att det är unikt för varje dokument.
Du måste också ställa in _id
i ditt modifiedObject
annars kommer en ny att genereras.
När det gäller bulkverksamheten , ställ bara in ett anpassat ID för varje dokument genom att ange _id
nyckel bör också fungera.