MongoDB DBCollection.insert()以WriteResult的形式返回null?

时间:2013-05-03 10:16:01

标签: java mongodb mongo-java

insert(List)会返回null吗?

WriteResult result = collection.insert(List<DBObject>);
result.getError()  -->Throws NullPointeException

在上面的代码片段中,什么可能导致WriteResult返回null?

2 个答案:

答案 0 :(得分:0)

您可以尝试提供包含BasicDBObject实例的BasicDBList。

例如:

BasicDBObject updateObject = new BasicDBObject();
BasicDBList dbList = createList(objects);
updateObject.append("$push", new BasicDBObject("collection", dbList));

WriteResult result = collection.insert(dbList);

...
private BasicDBList createList(List<SampleObject> list) {
  BasicDBList result = new BasicDBList();
  for (SampleObject obj: list) {
    BasicDBObject dbObject = new BasicDBObject();
    dbCar.append("name", obj.getName()); //for exmaple
    result.add(dbObj);
  }

 return result; 
}

答案 1 :(得分:0)

它可能会返回一个NullPointerException,因为至少该方法期望一个列表至少有一个键要读取才能成功插入一些东西。 否则,它将在技术上插入一个不存在的文档。