Database

[{"user":{"id":1}},{"user":{"name":"n"}},{"user":{"email":"e"}},{"user":{}},{"user":{"id":2,"name":"n2"}}]

Query

db.collection.aggregate([{"$project":{"userDetail":{"$cond":[{"$ifNull":["$user.id",false]},/** user id exists*/"$user.id",/** user id no exists*/{"$cond":[{"$ifNull":["$user.name",false]},/** user name exists*/"$user.name",/** user name no exists*/{"$cond":[{"$ifNull":["$user.email",false]},/** user email exists*/"$user.email",/** user email no exists*/""]}]}]}}}])

Result