我的程序正在读取文件夹中的大量文件。所有阅读部分都正常工作,我将所有数据设置为一个bean并设置。我将所有这些对象存储到一个arraylist中,当它达到900的特定限制时,将其插入mongodb。我在这一步完全感到困惑。任何人都可以帮忙吗?
ArrayList<Encapsulation> al=new ArrayList<Encapsulation>();
Encapsulation bean=new Encapsulation();
// bean.getId();
bean.setId(enc.getId());
System.out.println("id is" +bean.getId());
// System.out.println("before inserting to db,id is"+enc.getId());
bean.setProduct_name(enc.getProduct_name());
bean.setProduct_url(enc.getProduct_url());
bean.setProduct_image(enc.getProduct_image());
bean.setProduct_price(enc.getProduct_price());
bean.setCategory(enc.getCategory());
//one file completely setted into a bean
al.add(bean);
if(al.size()>900)
{
System.out.println("list size>900and count is" +count++);
obj.insertdb();
al.clear();
}
public void insertdb()
{
for (Encapsulation s : al)
{
BasicDBObject document=new BasicDBObject();
document.put("product_id", s.getId());
System.out.println("productid is" +s.getId());
document.put("product_name", s.getProduct_name());
document.put("product_url", s.getProduct_url());
document.put("product_img", s.getProduct_image());
document.put("product_price", s.getProduct_price());
document.put("country", "India");
document.put("date",new SimpleDateFormat("MM-dd-yyyy").format(myDate));
document.put("category", s.getCategory());
coll.insert(document);
System.out.println("inserted");
}
}
Insertdb
方法让我感到困惑。我需要将bean插入mongodb。
答案 0 :(得分:0)
您似乎希望避免在DBObject实例之间编码和解码Encapsulation实例的手动步骤。如果是这种情况,我建议使用一个流行的对象文档映射器(ODM)库,如Spring Data MongoDB或Morphia。