鉴于我有以下json:
{
"A" : {...},
".attrs" : {"A1": "1" }
}
我想在R中使用rmongodb包进行查询。我无法查询A.attrs字段值。有什么建议吗?
mongo <- mongo.create()
if (mongo.is.connected(mongo)) {
buf <- mongo.bson.buffer.create()
mongo.bson.buffer.append(buf, "A.attrs", "1")
query <- mongo.bson.from.buffer(buf)
# assume "db.collection" is correct
cursor <- mongo.find(mongo, "db.collection", query, limit=1000L)
# Step though the matching records and display them
while (mongo.cursor.next(cursor))
print(mongo.cursor.value(cursor))
mongo.cursor.destroy(cursor)
}
我知道(。)在Mongo中不是有效的字段名称;它是使用xml到json转换器生成的。
“\ uff0E”作为转义字符没有帮助。 最好将.attrs重命名为有效的约定,但在json中的各种嵌套级别有几个.attrs。
答案 0 :(得分:2)
密钥中的句号是个问题。如果我们认为它是好的,我想你应该构建你的查询,如:
mongo.bson.buffer.append(buf, ".attrs.A1", "1")