我想用rmongodb在R.我試圖構造下面的查詢訪問的MongoDB數據庫構建rmongodb查詢:
{'$and': [{_id: {'$gte': '2013-01-01'}}, {_id: {'$lte': '2013-01-10'}}]}
我嘗試三種不同的方法來創建對象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 解決方案是使用RMongo,而不是R 2.50。
我被困在這個問題好幾天了。如果我找不到解決方案,我將不得不使用python編寫外部腳本,並從R中調用它。