0

これがすでに対処されている場合はお詫び申し上げます。

mongodb には、「main」というデータベース コレクションがあります。mongodb シェルから次のクエリを正常に実行できます。

        db.main.find( {
    $or : [
        { $and : [ { "Var1Path": /.*20072.*/ }, { "Var2Path": /.*30033.*/ } ] },
        { $and : [ { "Var1Path": /.*30033.*/ }, { "Var2Path": /.*20072.*/ } ] },
    ]
} )

rmongodb を使用して R で同じクエリを実行しようとしています。クエリは AND と OR を組み合わせます。スラッシュは文字列の一致として機能します (たとえば、Var1Path というフィールドの任意の場所で文字列 '20072' を見つけます)。rmondodb を使用して R で実行できますか? もしそうなら、それはどのように書かれるべきですか?

4

1 に答える 1

0

コードを書いたり rmongodb ビネットを読んだりしましたか?
次のようなものが必要です。

and_1 = list("$and" = list( list("Var1Path" = list("$regex" = "20072" )), 
                            list("Var2Path" = list("$regex" = "30033" )) ))
and_2 = list("$and" = list( list("Var1Path" = list("$regex" = "30033" )), 
                            list("Var2Path" = list("$regex" = "20072" )) ))
mongo.find(mongo = mongo, ns = 'db_name.collection_name', 
           query = list("$or" = list(and_1, and_2)))

すべての rmongodb ユーザーが覚えておくべきことの 1 つは、mognodb オブジェクトと R オブジェクトの間に非常に単純なマッピングがあることです。名前のないlists は配列として解析され、名前付きlistの s はオブジェクトとして解析されます。

于 2015-06-27T08:39:24.150 に答える