Pipa Agregat Mgo $bukan operator. Operator tingkat atas tidak dikenal

Saya mencoba membuat saluran agregat menggunakan driver Mgo. Saya terus mengalami masalah $not operator tingkat atas yang tidak diketahui untuk pengaturan berikut. Saya seorang pemula dalam menggunakan go dan mongo. Saya membuat saluran ini untuk memfilter pengguna yang tidak cocok dengan kriteria tertentu seperti mereka aktif. Apakah ada cara yang lebih mudah untuk mencapai hal ini?

 today := time.Now()   
 pipe2 := bson.M{"$match": bson.M{
                 "$not": []bson.M{
                         bson.M{StartDate: bson.M{"$gte": today}},
                         bson.M{EndDate: bson.M{"$lte": today}}}}}

person Pyro    schedule 08.11.2019    source sumber


Jawaban (1)


$not mengambil objek, bukan array:

https://docs.mongodb.com/manual/reference/operator/query/not/

Anda sudah mengubah kueri Anda:

bson.M{"$match": 
   bson.M{StartDate: 
       bson.M{"$not": bson.M{"$gte": today, "$lte": today}}}}
person Burak Serdar    schedule 08.11.2019