問題タブ [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.
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 が実行されるドキュメントの総数はさまざまであるため、これを実行したくありません。したがって、時間がかかると思います。ですから、私が信じている方法で問題を解決することは決してできません。
他にどのような方法がありますか?
私を助けてください
mongodb - mgoを使用してgolangのmongodbコレクションからすべてのレコードを選択するにはどうすればよいですか
MongoDB では、次のようなことdb.mycollection.find()
をすると、コレクション内のすべてのドキュメントが返されます。
パッケージlabix.org/v2/mgoを使用して GoLang で作業している場合、たとえば次のようにします。
インターフェイスの形式で入力が必要であると不平を言っています。必要なのは、すべてのドキュメントを取得し、それらを繰り返し処理して、今のところそれぞれを表示することだけです。この効果を得るにはどうすればよいですか?私が見たすべての例には、フィルターが配置されているようです。
go - Mgo single bson.M の結果が正しく機能しない
リソース REST API を構築していますが、以下に問題があります。
すべてのレコードを返す Find メソッドは、このように正常に機能しています
単一の結果は機能せず、空の構造体を返します:
問題が var jsonR = bson.M{} のどこかにあることはわかっていますが、findall では問題なく動作します。
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 のサンプル コードを使用した、私が意味することのサンプルです。
go - MongoDB検索クエリのキーの固定セットなしで文字列を解析します
ユーザーがMongoDBに渡したいクエリパラメーターを渡すAPIがあります。API はリクエスト パラメータから文字列を取得し、Mongo 検索クエリに直接渡します。クエリ文字列には、固定されたキーのセットはありません。次の構造のいずれかを持つことができます -
この文字列を解析して、このように直接使用できるようにするにはどうすればよいですか -
mongodb - Mgo プル アップデートが機能しない
Goのmgoライブラリで次の機能を実現しようとしています:
これは基本的に、id フィールドに基づいて、研究配列から研究を削除しようとしているアーティスト コレクションの更新です。
だから私は使用します:
しかし、これはうまくいかないようです。最初のバージョンを RoboMongo (mongodb クライアント ユーティリティ) で直接実行すると正常に動作しますが、mgo では動作しないようです。「見つかりません」というエラーが表示されます。
ありがとうございました
編集
次の go コードが変更され、ファイルだけで動作しています。
mongodb - mgo: ドキュメント内の特定の配列を更新する方法
データベース内に次のドキュメントがあります。
倉庫 ID がわかっている場合、ロケーション配列を更新するにはどうすればよいですか? これは私が今持っているものです
しかし、このエラーが発生します:
「location.$elemMatch」のドル ($) 接頭辞付きフィールド「$elemMatch」は、保管には無効です。
go - MongoDB での CRUD 操作用に Go コードを整理する
Go で Web アプリケーションを作成していますが、コードを整理するのに苦労しています。
MongoDB での基本的な CRUD 操作では、コードの冒頭で常に次のようなことを行う必要があります。
しかし、いつも同じコードを繰り返さなければならないという事実は好きではありません。
それを短くする方法、または私のコードでこれを多く回避する方法はありますか:
私はGoが初めてなので、明らかな何かが欠けているかもしれません。