Database

[{"cuisine":"Spanish","name":"Willy"},{"cuisine":"English","name":"William"}]

Query

db.collection.find({$or:[{$and:[{cuisine:{$ne:"American"}},{cuisine:{$ne:"Chinese"}}]},{name:{$regex:"^Wil"}}]},{name:1,cuisine:1})

Result