Database

db={Books:[{"BOOK_ID":"100","BOOK_NAME":"Book 1","BOOK_DESC":"abcd",},{"BOOK_ID":"101","BOOK_NAME":"Book 2","BOOK_DESC":"efgh",},{"BOOK_ID":"102","BOOK_NAME":"Book 3","BOOK_DESC":"ijkl",}],BookGroup:[{"GROUP_ID":"100","GROUP_NAME":"G1","GROUPS":[{"BOOK_ID":"100","BOOK_NAME":"Book 1"},{"BOOK_ID":"101","BOOK_NAME":"Book 2"}]},{"GROUP_ID":"101","GROUP_NAME":"G2","GROUPS":[{"BOOK_ID":"101","BOOK_NAME":"Book 2"}]},{"GROUP_ID":"102","GROUP_NAME":"G3","GROUPS":[{"BOOK_ID":"100","BOOK_NAME":"Book 1"},{"BOOK_ID":"102","BOOK_NAME":"Book 3"}]}]}

Query

db.Books.aggregate([{$lookup:{from:"BookGroup",localField:"BOOK_ID",foreignField:"GROUPS.BOOK_ID",as:"groups"}},{$set:{group_name:{$map:{input:"$groups",in:"$$this.GROUP_NAME"}}}},{$unset:"groups"}])

Result