ObjectId を使用して RMongo でクエリを実行する方法はありますか?
何かのようなもの:
results <- dbGetQuery(mongo, "users", "{'_id': 'ObjectId('5158ce108b481836aee879f8')'}")
おそらくbsonライブラリをインポートすることによって?
RMongo のdbGetQuery()
関数は、提供されたクエリ文字列に対してMongoDB 拡張 JSON 構文を想定しています。
MongoDB 拡張 JSON に相当するものObjectId("<id>")
は次の{ "$oid": "<id>" }
とおりです。
results <- dbGetQuery(mongo, "users", "{'_id': { '$oid': '5158ce108b481836aee879f8' }}")
新しい mongolite パッケージを試してください:
library(mongolite)
m <- mongo("users")
m$find('{"_id":{"$oid":"5158ce108b481836aee879f8"}}')
mongo.oid.from.string {rmongodb}
文字列から mongo.oid オブジェクトを作成する パッケージ: rmongodb バージョン: 1.5.3 説明 24 文字の 16 進文字列から、MongoDB オブジェクト ID を表す mongo.oid オブジェクトを作成します。
使用方法 mongo.oid.from.string(hexstr) 引数 hexstr (文字列) OID を表す 24 個の 16 進数文字。長さが 24 でない場合はエラーがスローされますが、文字が 16 進数でない場合はエラーはスローされないことに注意してください。無効な数字に対してゼロビットが得られます。
詳細はhttp://www.mongodb.org/display/DOCS/Object+IDsを参照してください
値