Да, вы будете использовать команду Последняя ошибка , но вам нужно установить флаг fsync (и / или параметр репликации , в зависимости от вашего определения "safe"):
# force fsync
> db.runCommand({getlasterror:1,fsync:true})
# wait for replication to one other server (w = 2)
> db.runCommand( { getlasterror : 1 , w : 2 } )
Если вы выполняете более одной записи, вы можете запросить fsync или репликацию после последней.Это также сделает все предыдущие записи «безопасными» (поскольку они применяются по порядку).Вам не нужно оплачивать стоимость каждой записи (если вам не нужно, чтобы они были в безопасности индивидуально, а не только как набор).