Database

[{_id:"doc1",k2:1,k3:1,k4:1,k5:1,k6:1},{_id:"doc2",k1:1,k3:1,k4:1,k5:1,k7:1},{_id:"doc3",k1:1,k2:1,k4:1,k5:1,k8:1},{_id:"doc4",k1:1,k2:1,k3:1,k5:1},{_id:"doc5",k1:1,k2:1}]

Query

db.collection.aggregate([{"$addFields":{"validCount":{"$objectToArray":"$$ROOT"}}},{"$addFields":{"validCount":{"$reduce":{"input":"$validCount","initialValue":0,"in":{"$cond":{"if":{"$in":["$$this.k",["k1","k2","k3","k4"]]},"then":{"$add":["$$value",1]},"else":"$$value"}}}}}},{"$match":{validCount:{$gte:3}}},{"$project":{_id:1,k1:1,k2:1,k3:1,k4:1}}])

Result