Database

[{"_id":ObjectId("5c0325eec104041f38a6f9ec"),"total_distict_words":137,"items":[{"first":1},{"another":3},{"house":5}]}]

Query

db.collection.aggregate([{$unwind:"$items"},{$project:{items:{$objectToArray:"$items"}}},{$project:{items:{$map:{input:"$items",as:"item",in:{word:"$$item.k",counter:"$$item.v"}}}}},{"$group":{"_id":"$_id","items":{"$push":"$items"}}},{"$project":{"items":{"$reduce":{"input":"$items","initialValue":[],"in":{"$setUnion":["$$value","$$this"]}}}}},{$unwind:"$items"},{$sort:{"items.counter":-1}},{"$group":{"_id":"$_id","items":{"$push":"$items"}}},])

Result