Mgo Aggregate pipline $ не оператор. Неизвестный оператор верхнего уровня - PullRequest
1 голос
/ 08 ноября 2019

Я пытаюсь создать агрегатный конвейер, используя драйвер Mgo. Я продолжаю сталкиваться с неизвестным оператором верхнего уровня $ не проблема для следующей настройки. Я новичок в использовании го и монго. Я создаю этот конвейер для фильтрации пользователей, которые не соответствуют определенным критериям, например, что они активны. Есть ли более простой способ сделать это?

 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}}}}}

1 Ответ

0 голосов
/ 08 ноября 2019

$not принимает объект, а не массив:

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

Вы изменили свой запрос:

bson.M{"$match": 
   bson.M{StartDate: 
       bson.M{"$not": bson.M{"$gte": today, "$lte": today}}}}
...