問題タブ [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 投票する
4 に答える
64816 参照

installation - ダウンロードソースからgolangサードパーティプロジェクトをインストールするにはどうすればよいですか?

golangで書かれたmongo-driverであるmgoをインストールしようとしています。

標準コマンド:

しかし、いくつかの証明書の問題のために失敗しました。

だから私は手動でmgoのソースをローカルにダウンロードしますがE:\mgo、それをどのようにインストールするのかわかりません。

ファイルツリー:

私は試した:

それは報告します:

しかし、最初にbsonをインストールしようとすると、次のようになります。

別のエラーが報告されます。

それで、それをインストールするための正しいコマンドは何ですか?

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

mongodb - Go(golang)のMongoDBとmgo:レコードを更新し、更新が成功したかどうかを確認し、単一のアトミック操作でデータを取得するにはどうすればよいですか?

GoでMongoDB用のmgoドライバーを使用しています。

私のアプリケーションはタスクを要求し(Mongoで「jobs」と呼ばれるコレクションからレコードを選択するだけで)、そのタスクを完了するために自分自身を担当者として登録します(同じ「job」レコードへの更新、自分自身を担当者として設定します)。

プログラムは複数のマシンで実行され、すべて同じMongoと通信します。私のプログラムが利用可能なタスクをリストしてから1つを選択すると、他のインスタンスがすでにその割り当てを取得している可能性があり、現在の割り当ては失敗します。

読んでから更新したレコードが、更新時に特定の値(この場合は担当者)を持っているかどうかを確認するにはどうすればよいですか?

どちらの割り当てでも取得しようとしているので、最初に保留中のタスクを選択して割り当てを試み、更新が成功した場合に備えて割り当てを保持する必要があると思います。

したがって、私のクエリは次のようになります。

「コレクション'jobs'のすべてのレコードから、assignee = null のレコードだけを更新し、IDを担当者として設定します。次に、そのレコードを渡して、ジョブを実行できるようにします。」

Go用のmgoドライバーでそれをどのように表現できますか?

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

mongodb - ネストされたドキュメントフィールドにmgoを使用する

私はmongodbのmgoドライバーでGolangを使用しています。

http://labix.org/mgoの例によると、すべてがうまく機能しています。しかし、mgoがネストされたフィールドを設定および削除できるようにするための「ドット表記」をどのようにサポートしているかについてのドキュメントは見つかりません。では、ネストされたフィールドにアクセスするにはどうすればよいですか?

もう1つの質問は、goLangの命名規則に関連しています。構造をs.FindId(...)。One(&doc)で埋めると、docに「Timer」ではなく「timer」のような小文字のフィールドを含めることができますか?

mgoはmongoから構造化されていないドキュメントを取得し、map [string] stringを返す可能性がありますか?

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

mongodb - Golang / mgo:フィールドで現在の時刻を使用するようにMongoDBに要求するにはどうすればよいですか?

使用しているMongoDBコレクションのタイプに一致するこの構造体があります。

LastSeenフィールドに、その特定のアプリとの最後のインタラクションの時間を保持させたい。そのため、アプリは現在の時刻を設定して(文字列として)自分自身を登録します。

私が欲しいのは、MySQLのNOW()関数が行うのと同じように、Mongoが挿入時にそのフィールドに独自の現在時刻を動的に設定することです。

私はこのヘルパー関数を持っています:

そして私はこれを試しました:

LastSeenフィールドは、評価される代わりにスクリプトとして保存されます。

だから、私は質問があると思います:

まず、現在の時刻を挿入するにはどうすればよいですか?

次に、JavaScriptを挿入する代わりに評価するにはどうすればよいですか?

2番目の答えは最初の答えに十分かもしれませんが、そうではないかもしれません。

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

mongodb - フィールドの値を取得するために、MongoDB に JavaScript を評価するように依頼するにはどうすればよいですか?

挿入するドキュメントのフィールドの 1 つに、MongoDB が動的に値を割り当てられるようにしたいと考えています。例: MySQL で NOW() が行うのと同じように、MongoDB サーバーからの現在の時刻。

私はこれを試しました:

私はこのヘルパー関数を持っています:

LastSeen フィールドは、評価される代わりにスクリプトとして保存されます。

javascript を挿入する代わりに評価するにはどうすればよいですか?

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

mongodb - mgoが挿入されたドキュメントのIDを返さないのはなぜですか?

ドキュメント( http://godoc.org/launchpad.net/mgo/v2 )によると、Upsertメソッドを使用すると、「Upserted」ドキュメントのIDを取得できます。

この機能を提供しないInsertメソッドもあります。
何故ですか?アップサートの代わりに挿入を実行したい場合はどうなりますか?(または、それを実行したい正当な理由はありませんか?私は疑問に思い始めています。)

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

mongodb - Golang / mgo:MongoDBドキュメントからintフィールドの値を取得できません

値の中に整数値を含むコレクションをクエリし、結果のドキュメントをこの構造体にロードしています。

これはphpMoAdminが私に示すものです:

コレクションに挿入したドキュメントにsubscription.TimeoutSeconds私が肯定的であるとき、それは常に0 を含むことを私に困惑させます。30

他のすべての値は正常に取得されます。

int型の何が問題になっていますか?

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

mongodb - GoでMongoDBドキュメントを取得する際の問題

私は次のコードを持っていますが、なぜそれがNotesのスライスを返さないのかわかりません。labix.orgのmgoライブラリを使用してMongoDBに接続し、オンラインドキュメントに従っています。

印刷するだけnotesで、2つの構造体のスライスのように見えますが、そのような方法でそれらにアクセスすることはできませんnotes.Title

これは私のドキュメントがどのように見えるかです:

Note{}本当の問題は、ノートを(私が思うに)ではなく、1つの大きなスライスとして返すことです。

私が明らかに間違ったことをしているなら、どんな洞察も助けになるでしょう。

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

mongodb - golang と mgo を使用して、MongoDB で値の範囲を検索するにはどうすればよいですか?

mgo ホームページの例を試してみましたが、値の範囲を照会する方法を見つけるのに苦労しています。行: は次の
searchResults, searchErr = SearchReading(bson.M{"k": key, "t": { $gte: start, $lte: end } }, limit)
ように失敗します:
line67: syntax error: unexpected $
line67: missing type in composite literal

コードの重要でないビットを省略しました...

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

go - golang の mgo ライブラリを使用して、リストなどのネストされたオブジェクトを取得する方法

このクラスを満たすオブジェクトを取得しようとしています:

データ フィールド "People" は、空のスライス [] として表示されます。私は単純な検索を使用してデータを取得しています。

私は何を間違っていますか?

理解した....

答えはここにあります: https://groups.google.com/d/msg/mgo-users/KirqfCSlKFc/t2l3l4yxFRwJ

基本的には、People []Person 行の最後に 'bson: ""' を追加するだけです。