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

オブジェクトコレクションから特定の配列を返します

    fullDocument watchのoptions(second)引数のパラメータ メソッドを使用して、updateのドキュメントへの変更を説明するデルタを取得できます。 操作:

    const thoughtChangeStream = connection.collection("phonenumbers").watch([], {
      fullDocument: 'updateLookup'
    });
    
    thoughtChangeStream.on("change", (change) => {
       
      io.of("/api/socket").emit("newThought", change);
    
    });
    

    これにより、updateDescriptionのような応答ドキュメントが返されます。 更新によって変更されたフィールドが含まれています:

    {
      _id: {
        _data: '8260931772000000012B022C0100296E5A1004ABFC09CB5798444C8126B1DBABB9859946645F696400646082EA7F05B619F0D586DA440004'
      },
      operationType: 'update',
      clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1620252530 },
      ns: { db: 'yourDatabase', coll: 'yourCollection' },
      documentKey: { _id: 6082ea7f05b619f0d586da44 },
      updateDescription: {
        updatedFields: { updatedField: 'newValue' },
        removedFields: []
      }
    }
    

    注:これはupdateでのみ機能します 操作であり、replaceでは機能しません 、deleteinsert 、など。

    関連項目:




    1. mongodbのdb.collection.find()のリターンタイプとは何ですか

    2. Javaドライバーを介してAtlasM0(無料利用枠)クラスターに正しく接続するにはどうすればよいですか?

    3. ReactiveMongoRepositoryオブジェクトから戻ってきたMonoオブジェクトでblock()を実行中に例外が発生する

    4. Mongoスクリプトに引数を渡す方法