我使用R来访问包含来自Google Directions API的记录的MongoDb表。虽然我能够访问@GET
ResponseEntity getEntity(@PathParam("pathParam") String pathParam,
@QueryParam("locale") String locale) {
validate(pathParam);
validate(locale);
...
}
值,但在尝试访问数据库_id
中的其他密钥时收到错误,这是一个包含有关路由的所有信息的数组。知道如何使用data
查询数组吗?
在下面的代码中,首先我检查集合中有多少条记录。然后使用rmongodb
我在数据库中查询所有对象id,然后当我尝试访问下一个索引 - 数据时遇到问题。知道为什么会这样吗?我已经包含了一个图像,其中包含有关MongoDB罗盘的两个索引的信息。
mongo.distinct()
答案 0 :(得分:0)
您应该能够在尝试时完全查询它。
如果没有您的数据,这是一个有效的例子
library(rmongodb)
mongo <- mongo.create(db = "test")
## create some data
lst <- list(lat = -37.9,
lon = 144.5,
image_url = letters)
## insert data
mongo.insert(mongo, "test.array_test", mongo.bson.from.list(lst))
在mongodb客户端(我使用Robomongo),我们可以看到数据,而image_url
是一个数组
所以你的查询应该有效
## query data on the 'image_url' array
mongo.distinct(mongo, "test.array_test", key = "image_url")
# [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
我们可以插入更多数据并运行相同的查询
lst <- list(lat = -37.8,
lon = 144.4,
image_url = c("string1","string2"))
mongo.insert(mongo, "test.array_test", mongo.bson.from.list(lst))
mongo.distinct(mongo, "test.array_test", key = "image_url")
# [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
# [13] "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x"
# [25] "y" "z" "string1" "string2"