Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在mongolab中的集合中创建对象时出错:BasicBonlist只能使用数字键,不能使用:[[u id]_Mongodb_Mlab - Fatal编程技术网

Mongodb 在mongolab中的集合中创建对象时出错:BasicBonlist只能使用数字键,不能使用:[[u id]

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": "

我在Mongonab中使用以下JSON(并已验证):

[{
    "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

是否要将其插入收藏?