問題タブ [rmongodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
7965 参照

r - RからMongoDBをクエリする方法は?

RからMongoDBクエリを取得したい。

mongoシェルを使用すると、次のようにクエリを実行します。

ただし、R-Mongoでは、このクエリを説明する方法が見つかりませんでした。

ありがとう

0 投票する
1 に答える
1246 参照

r - パッケージ'rmongodb'を使用したクエリの結果セットの処理

rmongodbパッケージを使用し、最終オブジェクトを?にする場合、MongoDBクエリの結果セット(長さ> 1 )をどのように処理しますか?list

list結果セットをステップ実行しながらオブジェクトを追加するだけで発生する、Rの典型的な「値渡し」コピーの非効率性を回避しようとしています。しかし、それを行うには、クエリが返した「レコード」の総数を知る必要があると思いますね。そうすれば、空のリストにまたがって、結果セットをステップスルーするときにそのリストを埋めることができます。さらに良いことに、lapply()などを使用することもできます。

これが小さな例です

コンテンツの例

この例は、MongoDB Webサイトから取得され、 rmongodbを介して実装されています。

クエリ

クエリ結果の処理

それは私が思いつくことができる最高のものです:

しかし、私が探しているのは、次のようなas.list(cursor)ものです。

これは可能ですか?残念ながら、私はパッケージで使用されていると思うC /C++ポインタにあまり詳しくありません。

0 投票する
3 に答える
7090 参照

r - rmongodbを使用してRで高度なMongoDBクエリを実行する

MySQLが私を狂わせているので、私は自分の最初の「NoSQL」DBMSに精通しようとしていますが、それはたまたまMongoDBでした。rmongodbを介して接続しています。

rmongodbをいじくり回すほど、高度なクエリの実行に関してより多くの質問/問題が発生します。

正しく指定できないと思われるさまざまなタイプのクエリについて詳しく説明する前に、まずいくつかのサンプルデータを示します。

サンプルデータ

この例はMongoDBWebサイトから抜粋したもので、少し簡略化されています。

JSON / BSONオブジェクトの挿入に関連する2つの質問:

  1. ドキュメント'test.posts'、フィールド:この場合votersに使用するのは正しいですか?c()
  2. ドキュメント'test.posts'、フィールドcomments:これを指定する正しい方法は何c()ですかlist()

トップレベルのクエリ:彼らは御馳走を働きます

トップレベルのクエリは問題なく機能します。

質問1:基本的なサブレベルのクエリ

JSON / BSONスタイルのMongoDBオブジェクトの任意の深いサブレベルに到達する必要がある単純な「サブレベルクエリ」(トップレベルクエリではなく)をどのように実行できますか?これらのサブレベルのクエリはMongoDBのドット表記を利用しており、それを有効なrmongodbクエリにマップする方法がわからないようです。

プレーンなMongoDB構文では、

動作します。しかし、 rmongodb関数でそれを行う方法がわかりません

これが私がこれまでに試したことです

質問2:$演算子を使用したクエリ

これらの作品

クエリ1

クエリ2

ただし、アトミックセットの戻り値は次のようになることに注意してください。NULL

サブレベルのクエリで同じことを試してみると、また迷子になります

0 投票する
2 に答える
1974 参照

r - MongoDBでのクエリ

Rでさらに処理するためにMongoDBデータベースから情報をフェッチするために使用しようとしていrmongodbます。しかし、実際に開始するにはいくつかの問題があります。これは機能します:

さて、名が「ジョン」、「ボブ」、「キャサリン」のいずれかである人を見つけたい場合はどうすればよいですか?試しましたが、うまくいきquery=list(last.name="Smith", first.name=c(John, Bob, Catherine))ませんでした。との置き換えも機能=%ませんでした。

もう1つの問題は、データベースコンテンツがネストされていることです。つまり、サブツリー、サブサブツリーなどがあります。たとえば、エントリの場合は、のfirst.name="John", last.name="Smith"ようなサブエントリがaddress, age, occupationあり、職業の場合は、サブツリーとしてカテゴリがあります(たとえば、2005年から2012年までの年など)。毎年、「失業者」、「店員」、「起業家」などのエントリがあります。では、40歳で、2010年に失業した「ジョン」という名の人をすべて見つけたい場合はどうすればよいでしょうか。クエリはどのようになりますか?

Stennieへの返信として編集:これが私のデータベースの構造と私が行おうとしているクエリの例です。大学の卒業生がグループに細分化されていると想像してみてください(たとえば、「非常に優秀な学生」、「優秀な学生」など)。各グループには、このグループに割り当てられている人々のリストとその詳細が含まれています。

ここで、「最高の学生」と「良い学生」という名前のグループに興味があり、これらの各グループの各メンバーの「名前」と「職業」をRオブジェクトとして取得したいとします。いくつかのプロット、統計などを行います。また、このリクエストを改良して、40歳未満のメンバーのみを取得したいと思うかもしれません。Stennieの返信を読んだ後、次のように試しました。

これを実行した後、エラーメッセージは表示されませんが、空のデータフレームが表示されます。このコードの何が問題になっていますか?

0 投票する
4 に答える
1429 参照

r - rmongodb: クエリで $or を使用

R と rmongodb 内で $or を使用してクエリを作成するのに苦労しています。私がエミュレートしたいのは、cmdline mongoからのこれです:

person.cell が null でない、または person.home が null でないレコードを取得したいと思います。それぞれを個別にクエリできますが、rmongodb で $or を使用してバッファーを作成するとデータを取得できません。rmongodb を使用する R コードは次のようになります。

これは、レコードもエラーも返さず、空のセットのみを返します。前述したように、person.cell または person.home のいずれかで検索を実行して結果を取得できますが、(rmongodb で) $or を実行しようとすると結果が得られないため、person.cell または person.home のいずれかでレコードをプルします。 .

私もこれを試しました:

しかし、同じ空のセットの結果が得られます (「b」を表示すると同じように見えます)。私はこれにこだわっています。

0 投票する
2 に答える
1670 参照

r - rmongodb を使用して MongoDB レプリカ セットに接続する

を使用して MongoDB レプリカ セットに接続できた人はいrmongodbますか? シェルmongo.create経由で接続するときに同じホスト/ユーザー名/パスワードが正常に機能する場合でも、どのように構成しても認証エラーが発生します。mongo

私のコードは次と同等です:

アップデート:

レプリカ セット内のすべてのノードのログを確認すると、上記のコードを実行しても認証が試みられていません。したがって、これはrmongodbバグである可能性があります。

0 投票する
0 に答える
905 参照

arrays - rmongodbを使用して、mongoDBの配列からデータフレームに値を抽出します

例に示されているエントリを含むデータベースにクエリを実行しています。すべてのエントリには、次の値が含まれています。

  • _idoverallitem:との一意のIDplaced_items
  • name:ての名前overallitem
  • locoverallitemとの場所placed_items
  • time_idoverallitem保存された時間
  • placed_items:配列を含むplaced_items(ゼロplaced_items : [],から無制限の量までの範囲で指定できます)。
  • category_id:のカテゴリplaced_items
  • full_id:の完全なIDplaced_items

を抽出したいnamefull_idおよび制約が与えられたレベルcategory_idごとにplaced_itemstime_idloc

データ例:

この例で期待される結果は次のとおりです。

したがって、placed_itemsが空の場合はエントリをデータフレームに配置し、エントリが含まれている場合はplaced_itemsエントリをデータフレームnに配置しますn

RBloggerの例を作成して、目的のデータフレームを作成しようとしました。

overallitemレベル(つまり_idまたは)で値を抽出したいがname、レベルで情報を収集できない場合は、条件が機能し、コードが機能しplaced_itemsます。さらに、点線で抽出する必要がfull_idあり、category_id機能していないようです。誰か助けてもらえますか?

0 投票する
1 に答える
711 参照

r - rmongodbでグループ化

次のようなMongoDBコレクションでグループクエリを作成しようとしています。

私はrmongodbを使用しています。rmongodbパッケージのドキュメントを確認してmongo.commandから、countコマンドを実行するために使用します。

また明確:

mongo.command誰かがグループクエリを実行するために使用することに成功しましたか?

0 投票する
1 に答える
372 参照

r - R で mapreduce を使用する

R を使用して mapreduce を実行しようとしています。mapReduce という R パッケージがありますが、その機能は複雑な mapreduce アプリケーション向けではありませんでした。私は自分のデータベースに mongodb を使用しており、R の rmongodb パッケージを使用してそれにアクセスしています。

0 投票する
2 に答える
1588 参照

r - rmongodb を使用して大規模な結果セットの処理を高速化する

rmongodb を使用して、特定のコレクション内のすべてのドキュメントを取得しています。それは機能しますが、私は何百万もの小さなドキュメント、潜在的には 1 億以上のドキュメントを扱っています。私はウェブサイトで著者が提案した方法を使用しています: cnub.org/rmongodb.ashx

これは、数百または数千の結果に対しては問題なく機能しますが、while ループは非常に低速です。これをスピードアップする方法はありますか?おそらくマルチプロセッシングの機会ですか?任意の提案をいただければ幸いです。1 時間あたり平均 100 万で、このレートでは、データ フレームを構築するだけで 1 週間かかります。

編集: while ループ内のベクトルが多いほど、処理が遅くなることに気付きました。私は今、ベクトルごとに別々にループしようとしています。まだハックのように思えますが、もっと良い方法があるはずです。

編集 2: data.table でうまくいきました。まだ実行中ですが、12M (これは私の現在のテスト セットです) を 4 時間で終了するようです。これは進歩ですが、理想からはほど遠いものです

}