如何删除两个字段具有不同值的文档

I am using MongoDB PHP Library to manipulate mongodb data.

docs: https://docs.mongodb.com/php-library/master/tutorial/crud/

I want to delete records that two fields have different values,for example:

there is a collection:

    $collection = [
        ['_id' => 'xxx', 'name_from_card' => 'foo', 'name_from_passport' => 'fooo'],
        ['_id' => 'xxx', 'name_from_card' => 'bar', 'name_from_passport' => 'bar'],
        ['_id' => 'xxx', 'name_from_card' => 'baz', 'name_from_passport' => 'bazz'],
        ['_id' => 'xxx', 'name_from_card' => 'qux', 'name_from_passport' => 'qux']
    ];

If the values of name_from_card and name_from_passport are different in a record,I will delete this record.In above example, record 1 and 3 will be deleted.

How to do it with MongoDB PHP Library?

Use $where. You need the JavaScript expression to compare the fields, and in most language implementations this is simply expressed as a string:

$collection->deleteMany([ '$where' => 'this.name_from_card !== this.name_from_passport' ])

The deleteMany() method applies to "all" matched documents, rather than just the first match.