sql >> データベース >  >> NoSQL >> MongoDB

Mongodbの埋め込み構造の更新と検索?

    1. 構文エラーは、services.port_infoを引用符で囲む必要があるためです。
    2. ただし、$elemMatch ネストされたフィールドは現在サポートされていません とにかく
    3. 幸い、$elemMatchは必要ありません。 この種のクエリの場合

    これは次のことを行う必要があります:

    db.hosts.find({ ip : "127.0.0.1"}, { "services.port_info.product" : "ssh" });
    

    $elemMatch 配列オブジェクト内の複数の基準に一致させる場合に必要です。たとえば、「ポートが9000で、プロトコルがUDPであるすべてを検索する」などです。これは、データ構造ではサポートされていません。 port_infoの理由がわかりません オブジェクトの配列です(ポートが2つの異なるサービスに属する可能性がある不確実な状況の場合)-単一のオブジェクトの場合、$elemMatch サポートされます。

    また、このようなクエリは常にオブジェクト全体を返すことに注意してください。




    1. MongoDBで短く一意のオブジェクトIDを作成する

    2. 特定のフィールドのMongooseaddexpires属性

    3. MongoDBStreamsでドキュメントの作成を見る

    4. TypeError:callback.applyは関数ではありません(Node.js&Mongodb)