問題タブ [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.
r - rmongodb 集計で日付を使用して MongoDB にクエリを実行する
を使用して、2 つの日付/時刻の間で MongoDB にクエリを実行しようとしていますrmongodb
。
私の文書構造は次のとおりです。
ここで、2 つの日付の間のすべてのドキュメントを取得したいと考えています (元のコレクションには昨年のドキュメントがあります)。そして、2 日間のドキュメントの結果を集計したいので、このクエリを他のクエリと一緒にパイプ処理mongo.aggregation()
してrmongodb
.
しかし、最終結果j
は常にinteger(0)
. エラーはスローされていません。私のpipe_1
クエリは何も返さないと思われるためmongo.aggregation()
、作業するドキュメントがありません。私が使用している日付/時刻形式は、AFAIK で問題を引き起こしています。どんな助けでも大歓迎です。
編集:
次のコードは完全に機能し、必要な日付の間のすべてのドキュメントを提供します。しかし、それは集約ではありません。クエリは 1 つだけです。私の知る限り、 の集計パイピングに関連してリストを使用することはできませんrmongodb
。q
以下に相当するものをJSON形式で書いてみました。match
集約を機能させるにはコマンドが必要なため、これも機能しません。
r - rmongodb の一致する ObjectId で集計する
ObjectId を含む集計に問題があります。これはパイプラインです:
rmongodb を使用して R に書き込もうとする試みは次のとおりです。
どちらが返されますか
これは、BSON の無効なエラー コードに対応します。
問題は ObjectId による一致にあると思います。最初のパイプラインだけで同じエラーが発生します。
どうすればこれを修正できますか?
エクストラ: 代わりにモンゴライトを使用してこれを行うにはどうすればよいですか?
r - r - rmongodb $or クエリの構築
バックグラウンド
GTFSデータをローカルの mongodb データベースに保存しています。
calendar
テーブルは次のようになります
仕事
のパッケージservice_id
を使用して、平日 (月曜日から金曜日) = 1 のすべての を選択したいと思います。rmongodb
r
SQL では、これは次のようになります。SELECT service_id FROM calendar WHERE monday = 1 OR tuesday = 1 OR ... OR friday = 1
詳細
Robomongo GUIを使用する場合、クエリは次のとおりです。
8つのドキュメントを返します(画像を参照)
したがって、同じ結果を返すr
同じクエリを作成しようとしていor
ますが、うまくいきません。
試行 0:
試行 1:
試行 2:
返された 2 つのドキュメントは、月曜、火曜、水曜、木曜、金曜のすべてが 1 であるservice_id
s のドキュメントです。AND
OR
試行 3:
R
Robomongo GUI を使用したときに取得したのと同じ 8 つのドキュメントを取得できないというクエリの試行の何が問題になっていますか?
r - rmongodb クエリに $hint を追加する
パッケージhint
を使用するときにmongoクエリに引数を追加する方法を知っている人はいますか? rmongodb
注:hint
現在は廃止されています。
現在、個別の ,コマンドmongo.find.all
ではなく、単純さのためにクエリを使用しています。cursor
buffer
mongo では、上記の完全な例のすべてのフィールドを除いて、クエリは次のようになります。
このヒントは、Mongo で使用するとクエリのパフォーマンスが明らかに向上するため、進行中の R プロセスに実装すると便利です。
現在のセッション情報()
r - rmongodb $in クエリの問題
私はrmongodbでの作業を本当に楽しんでおり、さまざまなことやクエリの組み合わせを行う方法を理解しましたが、これはまだ私を困惑させています. symbol: フィールドがベクトルの要素に等しいすべてのドキュメントを取得しようとしています (r ではシンボルと呼ばれます)。
rで複製しようとしているMongoDB DBで機能するクエリ
で...
うまくいかないようです(構文に慣れていないので、あらゆる種類の組み合わせを試してみましたが、うまくいきませんでした。ここに何かが欠けているように感じます。
R のシンボル ベクトルに基づいて特定のドキュメントをクエリする方法についてのヘルプは、非常に役立ちます。
編集: BSON の出力は次のとおりです。
r - R rmongodb try() は、不正なデータが原因である可能性があるエラーをキャッチしません
R と rmongodb を使用して、MongoDB NoSQL データベースからデータを抽出しています。try()
悪いデータから発生する問題をキャッチするロジックを入れました。ほとんどの場合try()
、エラーをキャッチして、不正なデータ オブジェクトをスキップします。ただし、時々、それをキャッチするのに「失敗」し、プログラムが停止します。以下は、時々機能するが、たまに失敗するコードですif(inherits(...))
。関数iter1
を呼び出す前に、(私が知っている限り)有効であることを確認するためにチェックを入れました。mongo.son.iterator.value()
実際、try()
プログラム全体で以下のような呼び出しで使用しました。前に試しtryCatch
たことがありますが、結果は同じだったと思います。どんな助けでも大歓迎です!
出力:
r - mongo.find.all (rmongodb) を使用してデータをインポートするのに時間がかかる
以下を使用して、mongodb から r にデータをインポートしようとしました。
このコマンドは小さなデータ セットに対しては機能しますが、1,000,000 個のドキュメントをインポートしたいと考えています。
system.time を使用し、コマンドに limit= X を追加して、インポートするデータの関数として時間を測定します。
結果:
データをプロットした後、私は次のことを信じています: インポート時間 = f( Data^2 )
時間 = -138.3643 + 0.0067807*データ サイズ + 6.773e-8*(データ サイズ-45762.6)^2
R^2 = 0.999997
- 私は正しいですか?
- もっと速いコマンドはありますか?
ありがとう!
rmongodb - フィールド タイプを rmongodb から変更する
rmongodb にアップロードされたコレクションがあります。問題は、すべてのフィールドが文字列として定義されていることです。したがって、集計が正しく機能していません。ドキュメントに目を通しましたが、フィールド タイプを更新する方法がわかりません。私が試してみました:
しかし、それはうまくいかなかったようです。何か案は?
編集 1
周りを見回した後、更新コマンドを次のように変更しました。
これは TRUE を返しますが、$type は変更されません。
ありがとう、
カルロス