問題タブ [mongo-c-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 に答える
460 参照

mongodb - C ドライバー (mongoc) を使用する場合に MongoDB クエリの MaxTimeMS を設定する方法

Mongoc と MongoDB >= 2.6 を使用して、find と aggregate() の MaxTimeMS を設定するにはどうすればよいですか?

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

c - c - bson を反復するときに value.type にアクセスする

libbson API ドキュメントに従おうとしています。しかし、私は何か間違っていたようです。ドキュメントには、次のことができると記載されています。

しかし、実際のコードをコンパイルしようとすると、次のエラーが発生します。

そして、実際のコードは次のとおりです。

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

mongodb - mongo C ドライバーを使用して textScore を返す

mongo-c-driver を使用して次のクエリを再作成しようとしています。

テキスト インデックスは正常に動作しています。走れる:

このクエリに $meta 部分を含める方法はありますか? 特定の方法でそれを投影する必要がありますか?

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

mongodb - mongoc_init() および mongoc_cleanup() は、メモリを「まだ到達可能」にする場合があります

mongodb-c-driver を使用して mongodb 操作を行うクラスがあります。コンストラクターでは、mongoc_init() が呼び出されます。デコンストラクタでは、mongoc_cleanup() が呼び出されます。次に、valgrind 3.10.1 から、一部のメモリが「まだ到達可能」であることがわかりました。valgrind 出力の一部は次のとおりです。

==23222== 1 ブロックの 16,384 バイトは、586 の損失レコード 586 でまだ到達可能です

==23222== 0x4C2D199: realloc (vg_replace_malloc.c:692)

==23222== by 0x6243894: CRYPTO_realloc (/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 内)

==23222== by 0x62BE1F1: lh_insert (/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 内)

==23222== by 0x62C0828: ??? (/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 内)

==23222== by 0x62C0243: ??? (/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 内)

==23222== by 0x5FCB01D: ERR_load_SSL_strings (/lib/x86_64-linux-gnu/libssl.so.1.0.0 内)

==23222== by 0x5083623: _mongoc_ssl_init (/usr/local/lib/libmongoc-1.0.so.0.0.0 内)

==23222== by 0x5077028: _mongoc_do_init (/usr/local/lib/libmongoc-1.0.so.0.0.0 内)

==23222== by 0x529A3FF: pthread_once (pthread_once.S:104)

==23222== by 0x400F305: call_init.part.0 (dl-init.c:85)

==23222== by 0x400F3DE: call_init (dl-init.c:52)

==23222== by 0x400F3DE: _dl_init (dl-init.c:134)

==23222== by 0x40016E9: ??? (/lib/x86_64-linux-gnu/ld-2.15.so 内)

==23222== リークの概要:

==23222== まだ到達可能: 3,075 ブロックで 91,832 バイト

これら 2 つの関数、mongoc_init() と mongoc_cleanup() についてコメントしたところ、valgrind から、すべてのヒープ ブロックが解放されたことがわかりました。

何か案が?

ありがとう。

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

mongo-c-driver - Mongodb C ドライバー、サーバーが実行されているかどうかをテストしますか?

データベースからデータを読み取って処理する必要があるクライアントを作成しました。

ドライバーが遅延接続を使用するため、それが null かどうかをテストするだけでは、mongoc_client_new で作成した接続をテストできないことに気付きました。

データベースが実際に稼働しているかどうかをテストするにはどうすればよいですか? クエリ条件を追加せずにデータベースを検索しているのではないでしょうか?

get_collection_count を試しましたが、データベースが実行されているかどうかに関係なく、-1 が出力されます。

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

mongodb - mongodbの1対多の関係

従来の SQL リレーショナル アプローチから移行する MongoDB は初めてです。私は単純な「カテゴリに多くの製品がある」シナリオ (c#.Net) に取り組んでいます。カテゴリの場所

私の質問は。

  1. 質問 1: [製品の追加] 画面に、カテゴリのドロップダウンがあります。したがって、送信時に、最初に製品コレクションに製品を 挿入してから、 この製品をカテゴリ コレクションのネストされた製品にプッシュする必要があります。

    _categoryCollection.Update(id, Update< カテゴリ>.Push…)

  2. 質問 2: または、単に「製品コレクション」と呼ばれるものを持っているべきではありません。代わりに、ネストされた製品を含む Categories コレクションを 1 つだけ持つ必要があります。送信時に、この新しい製品をそれぞれのカテゴリにプッシュするだけです。

    質問 2.1 : 製品が追加された後、製品とカテゴリの関連付けを行いたい場合はどうすればよいでしょうか。?

  3. または 質問 3: 質問 1 を考慮します。Product エンティティに CategoryId が必要ですか? これはNo SQLの概念で意味がありますか?
0 投票する
1 に答える
402 参照

mongodb - Mongo C-Driver のサブフィールドによる並べ替え

コレクションの順序付きカーソルをプログラムで取得するために、クエリを作成しようとしています。mongodb の Web サイトに 1 つの例が示されていますが、実際には機能していません。

私たちがやろうとしているのは、timestamp.secondstimestamp.nanosecondsという名前の 2 つのフィールドでコレクションを並べ替えることです。私たちのコレクションはこれらのフィールドによってインデックス化されており、mongo シェルで以下のコードを使用してデータを並べ替えることができます。

C ドライバーを使用して同じクエリを作成するにはどうすればよいでしょうか。以下のコードを試してみましたが、期待どおりに動作しません。

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

mongo-c-driver - MongoC での正規表現

bcon_newを使用してmongoCでこのクエリを実行するにはどうすればよいですか?