My approach would be to get the document instance, and create a new one from the instance fields. I am sure there is a better way to do it.
The following code to clone documents in Amelia's response above does not work:
Model.findById(yourid).exec(
function(err, doc) {
var d1 = doc;
d1._id = /* set a new _id here */;
d1.save(callback);
}
);
You also need to reset
d1.isNew = true;
as in:
Model.findById(yourid).exec(
function(err, doc) {
doc._id = mongoose.Types.ObjectId();
doc.isNew = true; //<--------------------IMPORTANT
doc.save(callback);
}
);