Mongodb 在mongolab中的集合中创建对象时出错:BasicBonlist只能使用数字键,不能使用:[[u id]
我在Mongonab中使用以下JSON(并已验证):Mongodb 在mongolab中的集合中创建对象时出错:BasicBonlist只能使用数字键,不能使用:[[u id],mongodb,mlab,Mongodb,Mlab,我在Mongonab中使用以下JSON(并已验证): [{ "city": "ACMAR", "pop": 6055, "state": "AL", "_id": "35004" }, { "city": "ADAMSVILLE", "pop": 10616, "state": "AL", "_id": "35005" }, { "city": "ADGER", "pop": 3205, "state": "
[{
"city": "ACMAR",
"pop": 6055,
"state": "AL",
"_id": "35004"
},
{
"city": "ADAMSVILLE",
"pop": 10616,
"state": "AL",
"_id": "35005"
},
{
"city": "ADGER",
"pop": 3205,
"state": "AL",
"_id": "35006"
}]
但我一直遇到这样的错误:BasicBonlist只能处理数字键,而不能:[[u id]。那么我做错了什么呢?我想我可能知道问题出在哪里,但你能详细说明几件事吗?这是您收藏的文档列表还是包含在较大文档中的列表?你到底是从哪里得到错误的 MongoLab文档编辑器只接受一个文档({}而不是[]),此时不支持批量插入 如果您在代码中遇到这个问题,那么通过做一些假设,我可以推测,如果提供的JSON是“数据”,那么: 数据是BasicBonlist(或BasicDBList),不能通过调用.get(“somefieldname”)来访问它。取而代之的是: a) 迭代列表中的元素以访问它们:
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");
这是因为,在引擎盖下,bOnlist看起来像:
{
"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"
}
}
让我知道这是否有帮助
感激地,
Eric@MongoLab是否要将其插入收藏?