問題タブ [pymongo-3.x]

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

pymongo - pymongoクエリクラス「find()」で「プロジェクション」を有効にする方法は?

find()公式リンク

プロジェクションをリストまたは辞書として設定しようとしましたが、どちらもfind()の出力を制限するために機能しません。投影を適切に設定するには?

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

python - Pymongo 3.2+でreplSetGetStatusを取得するには?

現在、pymongo 3.2+ ドライバーのより高いレベルの API を変換しています。コードは pymongo 2+ から 3.1 まで動作しました。管理データベースの replSetGetStatus を取得しようとしています。

私が理解していることから、pymongo 3.2+では管理データベースのクエリが許可されていません。私はグーグルで検索しましたが、この件についてはほとんど見つかりませんでした。db.runCommand() メソッドを使用する必要があるというヒントがありましたが、その方法がわかりません。

私の古い pymongo 2+ - 3.1 コード。

そのコード行をpymongo 3.2+で動作するように変換するにはどうすればよいですか?

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

mongodb - upsert を使用した insert_many - PyMongo

次のようなデータがあります。

データベースの現在のデータ:

私は常に一意の行を受け取りますが、それらのいずれかが DB に既に存在するかどうかはわかりません (上記の場合など)。そして、2 種類の要件に基づいてそれらを更新したいと考えています。

要件 1 :

行が既に存在する場合は更新しないでください。_idこれはある意味で簡単です:

上記を実行すると行が挿入2ndされますが、最初の行は更新されません。ただし、例外も発生します。

1.上記の操作を行うより良い方法はありますか(一括挿入の場合)?

要件 2

update_if_existsこれは&insert if not exists結合に似ています。したがって、次のデータ:

行を更新してDBに_id=1挿入する必要があります。2nd

問題は、一度に何千もの行を取得し、1 つずつチェックして更新することが効率的かどうかわからないことです。

2.この要件は、MongoDB で各行を反復せずに、できるだけ少ない操作で実現できますか?

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

mongodb - pymongoを使用したドキュメント検証でMongodbに整数フィールドを含むドキュメントを挿入するにはどうすればよいですか?

pymongo を使用してドキュメント検証を行う MongoDB にドキュメントを挿入しようとしています。データ型をチェックする型バリデーターがあります。

mongo シェルを使用してドキュメントを挿入すると、NumberInt()を使用して整数フィールドにデータを挿入できます。

pymongoを使用して整数フィールドを持つドキュメントを挿入するにはどうすればよいですか?

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

python - Pymongoエラーサーバータイムアウト

pipを使用してPymongo 3.2.2の最新バージョンをインストールしました。さらに、Python 3.4 Anaconda を使用しています。私は単純な挿入をしようとしています。これが私のコードです:

これは、トレースバックの下部に表示されるメッセージです。

MongoDB にレコードを挿入できるようにするには、どうすればこれを修正できますか?

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

python - 変数を値として使用する場合のPythonでのMongoクエリ

次のクエリを使用して、mongo コレクションからドキュメントを検索しようとしています。db.collection_name.find({"id" : Id})ここで、Id は入力として取得する変数です。しかし、うまくいきません。このように値をハードコーディングすると、db.collection_name.find({"id" : "1a2b"})機能します。「id」は文字列型で、pymongo を使用して mongo DB にアクセスしています。

コード:

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

mongodb - コレクション内のすべてのドキュメントでカスタム python 関数を呼び出す Mongo DB

コレクション全体のすべてのドキュメントの既存の属性でカスタム python 関数を呼び出し、その結果をその (同じ) ドキュメントに新しいキーと値のペアとして保存したいと考えています。それを行う方法があるかどうかを知ることができますか (各呼び出しは他の呼び出しから独立しているため) ?

気がついcursor.forEachたのですが、pythonを効率よく使うだけではできないのでしょうか?

簡単な例は、文字列を分割しtextて no を保存することです。新しい属性としての単語。

しかし、同じドキュメント内の別の属性の値に基づいてドキュメント内に新しい属性を設定することは、まだこの方法ではできないようです。この投稿は古いですが、問題はまだ未解決のようです。

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

python - Python 3.6 mongoengine は例外をキャッチできません

私はdjango 1.9プロジェクトを持っており、mongoengineを使用してmongodbインスタンスに接続しています。

次のようなモデルがあります。

テストクラス:

問題は、実行をキャッチできないことDuplicateKeyErrorです:

グローバルな try except を試してみましたが、DuplicateKeyError例外が発生してコードがクラッシュします。

情報については、次の依存関係を使用しています。

Django==1.9.7
mongoengine==0.10.6
pymongo==3.2.2

参照: get-the-duplicate-value-on-duplicatekeyerror

どんな助けでも非常にありがたい.Thx.

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

python - mondb クライアントでは問題なく更新できますが、Python では KO されます

mongodb/python/pymongo の初心者。私の mongodb クライアント コードは問題なく動作します。ここにあります :

これにより、contract_name (テスト コレクションから) が current_observation.observation_location.city (meteo コレクションから) と等しい場合、テスト コレクション内のすべてのドキュメントに temp_c_meteo 列が追加されます。そして、それが私が欲しいものです!

しかし、これがPythonでも同じように機能することを望みます。Python 2.7-pymongo 2.6.3 がインストールされています。しかし、Python 2.4.6 (64 ビット) および 3.4.0 (64 ビット) も同様です。

Python スクリプトの一部を次に示します。

そして、私が得るエラーがあります: ==> [06/21/2016 10:51:03 AM] [WARNING]: 'Collection' object is not callable. 「コレクション」オブジェクトで「update_many」メソッドを呼び出すつもりだった場合、そのようなメソッドが存在しないため失敗しています。

この問題は、いくつかの pymongo リリースに関連している可能性があることを読みました (「メソッドの保存と更新は非推奨です」。そのため、update_many を使用しようとしています)。ありがとう