私はdbGetQueryForKeys
関数を使用しています(ここで学びました)が、適切な戻り値を取得していないようです---正しいキーを収集しますが、値はすべてNAです。
mongo コンソールでのクエリは次のとおりです。これにより、期待どおりの結果が得られます。
db.final.find({},{"ids.myid":1,"org.name":1,"_id":0}).skip(0).limit(5000)
これにより、次のリストが生成されます...
{"ids" : {"myid": "123"}, "org": {"name": "Fred"}},
ただし、RMongo で同等のもの:
dbGetQueryForKeys(db,'final', '{}','{"ids.myid":1,"org.name":1,"_id":0}',skip=0,limit=5000)
プロデュース
ids.myid org.name X_id
1 NA NA NA
2 NA NA NA
3 NA NA NA
いくつかの問題があります。
- すべてにNAがあります
- X_id 列は、0 になっていてもまだそこにあります。
しかし、それは残りのすべてのキーを正しく/省略/するため、あるレベルでコマンドを明確に認識し、これらに対して間違った値を返すだけです。
さて、ドキュメントには次のように書かれています:
The output is a data.frame object
and will work properly only if the mongoDB collection contains
primitive data types. It may not work properly if there are any
embedded documents or arrays.
これは、ネストされた変数をクエリしているという点で問題のようです。ただし、これらのネストの戻り値自体は単数形であり、ids.myid と org.name は両方とも文字列で配列ではありません。それでも、これは本当にそうですか?RMongo は、入れ子のない完全にフラットなコレクションに対してのみ機能しますか?