Inserting data to mongoDB + java : I am new to MongoDB and NoSQL databases at all and have some issues to working with MongoDB driver.
I don't properly understand how to get a sub-array/list from document and reinsert data in it.
This is my JSON/BSON object which i can easy save in MongoDB. 

    {
    "_id": {
    "$oid": "5757df25612c2445af329111"
    },
    "shop": {
    "category": [
      {
        "MobilePhones": [
          
        ]
      },
      {
        "TV-sets": [
          
        ]
      },
      {
        "Motherboards": [
          
        ]
      }
    ]
    }
    }
Now i need to get an Array of Categories from my Shop, get object as MobilePhones/TV-sets/Motherboards category from this array/list as i write in my java POJO class.
    public class Category extends BasicDBObject implements Serializable {

    private List<Goods> goodsList;

    private BasicDBObject basicDBObject;

    public BasicDBObject getBasicDBObject() {
        return basicDBObject;
    }

    public void setBasicDBObject(BasicDBObject basicDBObject) {
        this.basicDBObject = basicDBObject;
    }

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Goods> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<Goods> goodsList) {
        this.goodsList = goodsList;
    }

    public Category(String name){
        this.name = name;
    }

    public Category(){}
    }
And insert goods into this category as i write in 
        public class Goods extends BasicDBObject implements Serializable {

    private String title;

    private int price;

    private String status;

    private BasicDBObject basicDBObject;

    public BasicDBObject getBasicDBObject() {
        return basicDBObject;
    }

    public void setBasicDBObject(BasicDBObject basicDBObject) {
        this.basicDBObject = basicDBObject;
    }

    public Goods(String title, int price, String status) {
        this.title = title;
        this.price = price;
        this.status = status;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
    }

In this way i get/create collection at database

     DBCollection collection = db.getCollection("shop");
     BasicDBObject dbObject = new BasicDBObject();
     dbObject.put("shop", shop.createCategoriesWithGoods());
     collection.insert(dbObject);

But this way doesn't help me to get category as 

     DBCollection collection = db.getCollection("MobilePhones");