mongodb difference remove() vs findOneAndDelete() vs deleteOne() : <p>In express and mongodb I want delete document by id
findOneAndDelete() Can not delete by _id, can only delete by field ! why ?</p>

<pre><code>db.collection('quotes').findOneAndDelete({name: req.body.name}, (err, result) =&gt; {
    if (err) return res.send(500, err)
  })

var ObjectId = require('mongodb').ObjectId;
  var collection = db.collection('quotes');
  collection.remove({_id: new ObjectId(req.body.id)}, function(err, result) {
      if (err) {
          console.log(err);
      } else {
          res.send('A darth vadar quote got deleted')
      }
  });

  var mongodb = require('mongodb');
  db.collection('quotes', function(err, collection) {
    collection.deleteOne({_id: new mongodb.ObjectID(req.body.id)});
  });
</code></pre>

<p>Difference of three functions? </p>
