rmongodb を使用して、R で MongoDB データベースにアクセスしたいと考えています。次のクエリを作成しようとしました。
{'$and': [{_id: {'$gte': '2013-01-01'}}, {_id: {'$lte': '2013-01-10'}}]}
私は 3 つの異なる方法で bson オブジェクトを作成しようとしましたが、うまくいきませんでした。
方法 1:
buf = mongo.bson.buffer.create()
mongo.bson.buffer.start.array(buf, '$and')
mongo.bson.buffer.append(buf, '_id', list('$gte'='2013-01-01'))
mongo.bson.buffer.append(buf, '_id', list('$lte'='2013-01-10'))
mongo.bson.buffer.finish.object(buf)
bson = mongo.bson.from.buffer(buf)
方法 2:
buf = mongo.bson.buffer.create()
mongo.bson.buffer.start.array(buf, '$and')
mongo.bson.buffer.start.object(buf, '_id')
mongo.bson.buffer.append(buf, '$gte', '2013-01-01')
mongo.bson.buffer.finish.object(buf)
mongo.bson.buffer.start.object(buf, '_id')
mongo.bson.buffer.append(buf, '$lte', '2013-01-10')
mongo.bson.buffer.finish.object(buf)
mongo.bson.buffer.finish.object(buf)
bson = mongo.bson.from.buffer(buf)
方法 3:
mongo.bson.from.list(list('$and'=list('_id' = list('$lte'='2013-01-10'), '_id' = list('$gte'='2013-01-01'))))
それらのどれも機能しません。すべて空の結果を返します。
私はいつか検索しましたが、尋ねられた唯一の同様の質問はrmongodb です: using $or in query 解決策は、R 2.50 では利用できない代わりに RMongo を使用することでした。
私はこの問題で数日間立ち往生しています。解決策が見つからない場合は、Python で外部スクリプトを作成し、R から呼び出す必要があります。