Database
[{"_id":0,"books":["123","456",]},{"_id":1,"books":["123","456","999"]},{"_id":2,"books":["456","999"]},{"_id":3,"books":["123"]},{"_id":4,"books":[]},{"_id":5,"books":["456","999"]},{"_id":6,"books":["999"]},{"_id":7,"books":["321"]},{"_id":8,"books":["123","999"]},{"_id":9,"books":["923","956","989","999"]}]
Query
db.collection.aggregate([{$group:{_id:null,allBooks:{$push:"$books"}}},{$project:{_id:0,allBooksSet:{$reduce:{input:"$allBooks",initialValue:[],in:{$setUnion:["$$value","$$this"]}}}}},{$project:{missing:{$setDifference:[["123","456","789"],"$allBooksSet"]}}}])