我使用下面的JSON(并且已经验证它)我收集MongoLab:
[{
"city": "ACMAR",
"pop": 6055,
"state": "AL",
"_id": "35004"
},
{
"city": "ADAMSVILLE",
"pop": 10616,
"state": "AL",
"_id": "35005"
},
{
"city": "ADGER",
"pop": 3205,
"state": "AL",
"_id": "35006"
}]
不过,我不断收到此错误:BasicBSONList只能用数字键工作,而不是:[_id]。 所以我在做什么错?
我想可能有什么问题的想法,但你能否详细说明几件事情? 这是一份包含较大的文件从您的收藏或列表的文件列表? 你在哪里得到确切的错误?
所述MongoLab文档编辑器只需要一个文件({}不[]),它不支持在这个时候批量插入。
如果您在代码中这个问题,然后通过做一些假设,我可以推测,如果提供的JSON是“数据”,则:
数据是BasicBSONList(或BasicDBList),其无法通过调用获得(“somefieldname”)进行访问。 相反,无论是:
一)遍历列表来访问它们的元素:
for(BasicDBObject doc : data) { String id = (String) doc.get("_id"); }
B)使用已知的列表索引作为中介
String _id = (String) ((DBObject)data.get(1)).get("_id"); //or
String _id = (String) ((DBObject)data.get("1")).get("_id");
这是因为,在引擎罩,一个BSONList看起来是这样的:
{
"0": {
"city": "ACMAR",
"pop": 6055,
"state": "AL",
"_id": "35004"
},
"1": {
"city": "ADAMSVILLE",
"pop": 10616,
"state": "AL",
"_id": "35005"
},
"2": {
"city": "ADGER",
"pop": 3205,
"state": "AL",
"_id": "35006"
}
}
让我知道如果这有助于!
感激,埃里克@ MongoLab
文章来源: error when creating object in collection in mongolab: BasicBSONList can only work with numeric keys, not: [_id]