問題タブ [mongo-cxx-driver]

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 に答える
2055 参照

c++ - BSONオブジェクトのOIDを16進文字列として取得するにはどうすればよいですか?

オブジェクトのオブジェクトIDを文字列mongo-cxxに変換しようとしているドライバーを使用していますBSON

には有効なデータがあると確信してBSONObjいますが、次のエラーが発生します。

BSONElement:不正なタイプ#somenumber

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

c++ - c++ドライバーを使用してmongodb配列をベクターに保存する方法は?

たとえば、シェルでこれを行うと

arr次に、C++ プログラムに参加したいと思います。

BSONObjを取得nameした後、取得できます

pBSON オブジェクトです。

しかし、配列から要素を取得して std::vector に保存する正しい方法は何ですか?

編集:

さらに調査した後、BSONElement doxygenのドキュメントを見つけてこれを作成しました。

しかし、それが正しい方法であるかどうかはまだわかりません。

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

c++ - C ++ドライバーを使用してスパースインデックスを作成するMongoDb

MongoDb (2.2) C++ ドライバーを使用してスパースインデックスを作成する方法はありますか?

ensureIndex関数がこの引数を受け付けないようです。MongoDb ドキュメントから:

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

c++ - C++ で mongo::BSONObj を正しく変更する

データストレージにmongodbを使用するソフトウェアを作成しました。クエリがデータを返した後、BSONObj はさまざまな場所で使用されます。

現時点では、クエリによって返される BSONObj の C++ 側の変更の可能性を追加する必要があります。後の部分はかなり大きいので、クエリの部分しか変更できませんが、BSONObj と BSONElement の参照を見ると、編集のたびに再構築せずに BSONObj を編集する正しい方法がわかりません。

変更コードは次のようになります。

私が調べたオプションの 1 つは、シングルを作成してBSONObjBuilderそれを変更することでしたが、オブジェクトをクエリするオプションは提供されず、ドキュメントには既存のフィールドとappend().

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

c++ - C++ でネストされた配列を使用して MONGO レコードを処理する

MONGO C++ API を使用して、次のような一連のレコードを処理しようとしています...「エントリ」配列の行数は可変です: 13 または 7 です。

UTCTime と SvId に基づいてコレクションをクエリします...レコードを取得したときに、それらすべてをステップスルーする方法がわかりません...

通常、カーソルを取得し、返されたレコードのセットを "next()" でループ処理するだけですが、7 または 13 のエントリを持つ "Entries" フィールドができました。これらの各アイテムにアクセスするにはどうすればよいですか? それらをループするために使用できる何らかの「サブカーソル」が必要だと思います。

API と例を調べていますが、ネストされた配列についてはあまりありません。

ありがとう、

リック

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

c++ - mongo-c-driver または mongo-cxx-driver でドキュメントをアップサートした後に `_id` を取得する方法は?

_idmongo-c-driver または mongo-cxx-driver でドキュメントをアップサートした後に取得する方法は?

次のコード スニペットは mongo-shell からのもの_idで、 の最後の行のフィールドを示していますWriteResult

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

c++ - compare_numbers.h:83: 警告: 引数 2 の 'double' を 'int mongo::compareLongs(long long int, long long int)' に渡します

RHEL 5 で mongo c++ ドライバーをコンパイルしたいのですが、使用するsconsとエラーが発生します:

これは何ですか ?

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

mongodb - C++ ドライバーで認証された接続を使用する mongodb 接続プール

C++ ドライバーの接続プールが認証された接続では機能しないことを読みました ( 2013 年末の記事)。これは(まだ)本当ですか?

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

c++ - cmake 経由で boost-thread と boost-regex をリンクする場合の SIGSEGV (セグメンテーション違反)

mongo-cxx-driver の例をコンパイルして実行してみます。Boost-system、boost-thread、boost-regex をリンクする必要があります。コマンドラインでコンパイルすると:

g++ simple_client_demo.cpp -I/home/ssi/mongo-client-install/include -L/home/ssi/mongo-client-install/lib -lmongoclient -lboost_system -lboost_thread -lboost_regex

すべては順調です。しかし、Cmake でコンパイルしようとすると、Signal: SIGSEGV (Segmentation fault)in /usr/include /c++/4.8/functional(_M_manager(_M_functor, _M_functor, __destroy_functor);問題がある場合は 2030 行) が表示されます。

Boostをリンクする私のCMakeList.txtの一部:

ldd a.outg++(コマンドからコンパイル):

ldd test_mongo_c_driver(cmake からコンパイル):

これは私の simple_client_demo.cpp です:

の出力make VERBOSE=1: