Til dit første problem har MongoDB upsert så
db.collection.update(
{query for id},
{document},
{upsert: true}
)
eller i Java-driveren
yourCollection.update(searchObject, modifiedObject, true, false);
Hvis du vil indstille et brugerdefineret ID, skal du blot indstille _id
tasten manuelt, dvs.
yourBasicDBObject.put("_id",yourCustomId)
du skal bare sikre dig, at det er unikt for hvert dokument.
Du skal også indstille _id
i dit modifiedObject
ellers vil en ny blive genereret.
Hvad angår masseoperationerne , skal du blot indstille et brugerdefineret ID for hvert dokument ved at give _id
nøglen burde også virke.