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

mongodbの配列から要素を削除する

    $ pop 演算子は配列の最初または最後の要素を削除しますが、必ずしも正しい要素であるとは限りません。

    特定の要素が必要な場合は、 $pull を使用できます。 定義された基準を持つアイテム:

       model.registerCompany.findOneAndUpdate({companyKey:"a key"},
        {$pull:{onlineEmployees:"John"}},
    

    $pullの場合、配列内の値が一意であることを確認する必要があります 「John」という名前に一致するすべての要素を削除します。

    配列に同じ値が存在する場合は、$unsetを使用する必要があります および$ ターゲット要素の値をnullに設定する位置演算子 (残念ながら、$ unsetは要素を削除しません)次に、$pullを使用します nullの要素を削除します 価値。そのためには、有効な値がnullにならないようにする必要があります 。その場合、コードは次のようになります。

    model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } ) 
    model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } ) 
    



    1. MongoDB-iterator_to_arrayの代わりにカーソルを使用する必要があるのはなぜですか(PHPの場合)

    2. mongoDBの巨大な配列に集約する方法は?

    3. ELBエンドポイントをDNSとして持つmongodbクラスター

    4. アイテム数によるRedisポップリストアイテム