2017-12-19 11 views
3

クエリをノードに変換します。マングースでの作業arrayfilterバージョンで、またはどのようにノードアプリでこれらを実行することができますArrayFilter in mongoose

db.getCollection('student').update(
    { 
     "_id": ObjectId('5a377d62d21a3025a3c3aa49') 
    }, 
    { 
     $set: { 
      "examples.$[i].isDeleted": true, 
      "examples.$[i].updatedAt": new Date(), 
      "updatedAt": new Date() 
     } 
    }, 
    { 
     arrayFilters: [ 
      { 
       "i._id": { 
        $in:[ 
         ObjectId("5a377d62d21a3025a3c3aa4d"), 
         ObjectId("5a377d62d21a3025a3c3aa4c") 
        ] 
       } 
      } 
     ], 
     multi: true 
    } 
) 

https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/

答えて

0

のアクセスを得るためにはMongoDB 3.6 https://docs.mongodb.com/manual/release-notes/3.6/

(互換性のあるドライバ@)のためノートリリースによるとmongodb 3.6の機能には、ノードドライバ3.xを使用する必要があります。

ドライバはRC状態(当時はこの回答の時点)であるようです。 https://github.com/mongodb/node-mongodb-native/releases

そういうわけで、おそらく、マングースはまだそれを使用し始めるのを待っています。 https://github.com/Automattic/mongoose/blob/master/package.json

これらのことが整理されるまで待つ必要があります。もちろん、公式の適応が完了するまで、あなた自身で物事を結ぶことができます。

+0

あなたの答えを更新してください。 –