0

私はrmongodbでの作業を本当に楽しんでおり、さまざまなことやクエリの組み合わせを行う方法を理解しましたが、これはまだ私を困惑させています. symbol: フィールドがベクトルの要素に等しいすべてのドキュメントを取得しようとしています (r ではシンボルと呼ばれます)。

rで複製しようとしているMongoDB DBで機能するクエリ

{symbol: {"$in": ["SYMBOLA","SYMBOLB","SYMBOLC","SYMBOLD","SYMBOLE"]} }

で...

symbols <- list("SYMBOLA","SYMBOLB","SYMBOLC","SYMBOLD","SYMBOLE")
mongo.find.all(mongo, namespace, query = list(symbol = list('$in' = symbols)))

うまくいかないようです(構文に慣れていないので、あらゆる種類の組み合わせを試してみましたが、うまくいきませんでした。ここに何かが欠けているように感じます。

R のシンボル ベクトルに基づいて特定のドキュメントをクエリする方法についてのヘルプは、非常に役立ちます。

編集: BSON の出力は次のとおりです。

symbol : 3   
        $in : 4      
            0 : 2    SYMBOLA
            1 : 2    SYMBOLB
            2 : 2    SYMBOLC
            3 : 2    SYMBOLD
            4 : 2    SYMBOLE
4

1 に答える 1

1

これは私のマシンで正常に動作します

symbols <- list("SYMBOLA","SYMBOLB","SYMBOLC","SYMBOLD","SYMBOLE")
mongo <- mongo.create()
for (ch in symbols) 
  mongo.insert(mongo, 'test.test', list(symbol = ch))
# insert one more symbol that don't match our condition
mongo.insert(mongo, 'test.test', list(symbol = 'incorrect_symbol'))

res <- mongo.find.all(mongo, 'test.test', query = list(symbol = list('$in' = symbols)))
length(res)
#> 5
于 2015-07-26T09:21:44.193 に答える