問題タブ [mgo]

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 投票する
1 に答える
10247 参照

mongodb - mgo と mongodb での i/o タイムアウト

mgo から map-reduce ジョブを実行しています。350 万レコードを少し超えるコレクションで実行されます。いくつかの理由で、現在これをアグリゲーションに移植できません。後かもしれません。ですから、map-reduce は私が楽しみにしているものです。このジョブは、コードと出力をテストするために作成した元の js ファイルから実行すると、正常に実行されます。map と reduce コードを 2 つの文字列内に配置しようとしましたが、mgo.MapReduce を呼び出して、別のコレクションに出力を書き込んでいる場所で map-reduce を実行しようとしました。そして、それは私に与えます

tcp 127.0.0.1:27017 の読み取り: i/o タイムアウト

ただし、ジョブはバックグラウンドで起動されているため、まだ実行中です。ここのスレッドによると --- http://grokbase.com/t/gg/mgo-users/1396d9wyk3/io-timeout-in-statistics-generation-upsert

session.SetSocketTimeout を呼び出すことで簡単に解決できますが、この map-reduce が実行されるドキュメントの総数はさまざまであるため、これを実行したくありません。したがって、時間がかかると思います。ですから、私が信じている方法で問題を解決することは決してできません。

他にどのような方法がありますか?

私を助けてください

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

mongodb - mgoを使用してgolangのmongodbコレクションからすべてのレコードを選択するにはどうすればよいですか

MongoDB では、次のようなことdb.mycollection.find()をすると、コレクション内のすべてのドキュメントが返されます。

パッケージlabix.org/v2/mgoを使用して GoLang で作業している場合、たとえば次のようにします。

インターフェイスの形式で入力が必要であると不平を言っています。必要なのは、すべてのドキュメントを取得し、それらを繰り返し処理して、今のところそれぞれを表示することだけです。この効果を得るにはどうすればよいですか?私が見たすべての例には、フィルターが配置されているようです。

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

go - Mgo single bson.M の結果が正しく機能しない

リソース REST API を構築していますが、以下に問題があります。

すべてのレコードを返す Find メソッドは、このように正常に機能しています

単一の結果は機能せず、空の構造体を返します:

問題が var jsonR = bson.M{} のどこかにあることはわかっていますが、findall では問題なく動作します。

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

mongodb - Golang mongodb mgo ドライバー Upsert / UpsertId ドキュメント

mongodb のドキュメントには次のように書かれています。

パラメーターに update 演算子式のみが含まれている場合、 および パラメーターの両方のフィールドと値。更新では、パラメーターの等価句からベース ドキュメントが作成され、パラメーターから更新式が適用されます。

そしてmgoのドキュメントには次のように書かれています:

Upsert は、指定されたセレクター ドキュメントに一致する単一のドキュメントを見つけ、更新ドキュメントに従ってそれを変更します。セレクターに一致するドキュメントが見つからない場合、更新ドキュメントがセレクター ドキュメントに適用され、結果がコレクションに挿入されます。

しかし、私がこのようなアップサートを行うと:

data.Code ではなく、mongodb によって自動的に生成された ObjectID を持つエントリになります。

これは、UpsertId がデータが更新演算子でフォーマットされることを期待しており、任意の構造体を使用できないことを意味しますか? または、ここで何が欠けていますか?

PD.Mongo 2.4.9 mgo v2 golang go バージョン devel +f613443bb13a

編集:

これは、Neil Lunn のサンプル コードを使用した、私が意味することのサンプルです。

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

go - MongoDB検索クエリのキーの固定セットなしで文字列を解析します

ユーザーがMongoDBに渡したいクエリパラメーターを渡すAPIがあります。API はリクエスト パラメータから文字列を取得し、Mongo 検索クエリに直接渡します。クエリ文字列には、固定されたキーのセットはありません。次の構造のいずれかを持つことができます -

この文字列を解析して、このように直接使用できるようにするにはどうすればよいですか -

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

mongodb - Mgo プル アップデートが機能しない

Goのmgoライブラリで次の機能を実現しようとしています:

これは基本的に、id フィールドに基づいて、研究配列から研究を削除しようとしているアーティスト コレクションの更新です。

だから私は使用します:

しかし、これはうまくいかないようです。最初のバージョンを RoboMongo (mongodb クライアント ユーティリティ) で直接実行すると正常に動作しますが、mgo では動作しないようです。「見つかりません」というエラーが表示されます。

ありがとうございました

編集

次の go コードが変更され、ファイルだけで動作しています。

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

mongodb - mgo: ドキュメント内の特定の配列を更新する方法

データベース内に次のドキュメントがあります。

倉庫 ID がわかっている場合、ロケーション配列を更新するにはどうすればよいですか? これは私が今持っているものです

しかし、このエラーが発生します:

「location.$elemMatch」のドル ($) 接頭辞付きフィールド「$elemMatch」は、保管には無効です。

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

go - MongoDB での CRUD 操作用に Go コードを整理する

Go で Web アプリケーションを作成していますが、コードを整理するのに苦労しています。
MongoDB での基本的な CRUD 操作では、コードの冒頭で常に次のようなことを行う必要があります。

しかし、いつも同じコードを繰り返さなければならないという事実は好きではありません。

それを短くする方法、または私のコードでこれを多く回避する方法はありますか:

私はGoが初めてなので、明らかな何かが欠けているかもしれません。