insert(List) 会返回 null 吗?
WriteResult result = collection.insert(List<DBObject>);
result.getError() -->Throws NullPointeException
在上面的代码片段中,什么可能导致 WriteResult 返回 null?
insert(List) 会返回 null 吗?
WriteResult result = collection.insert(List<DBObject>);
result.getError() -->Throws NullPointeException
在上面的代码片段中,什么可能导致 WriteResult 返回 null?
它可能会返回 NullPointerException,因为至少该方法需要一个列表,该列表至少有一个要读取的键才能成功插入某些内容。否则,从技术上讲,它将插入一个不存在的文档。
您可以尝试提供一个包含 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;
}