2013-07-22 48 views
0

鑑於我有以下的JSON:MongoDB的使用查詢.attrs屬性

{ 
    "A" : {...}, 

    ".attrs" : {"A1": "1" } 
} 

我想用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。

回答

2

關鍵的時期是一個問題。如果我們假設它是好的,我想你應該構造你的查詢,如:

mongo.bson.buffer.append(buf, ".attrs.A1", "1")