Как отфильтровать коллекцию datetime.Month из mon go по агрегации? - PullRequest
1 голос
/ 12 марта 2020

У меня есть Пн go коллекция , которая содержит поле dateTime с именем "DateOfCreation" . Учитывая, что у меня есть указанное c число месяца, как я могу получить все документы, которые соответствуют месяцу поля DateOfCreation ?

Ниже я попытался сделать следующее, но оно не работает и возвращает 0 документов.

var documents = Collection.Aggregate()
     .Match(new BsonDocument("DateOfCreation", new BsonDocument("$month", new BsonDocument("$eq", 3))))
     .Group(groupFields)
     .ToList();

3 - это мое номер месяца (март)

Точно так же я хотел бы сделать это для год , день и так далее

1 Ответ

2 голосов
/ 12 марта 2020

Не уверен, как перевести это на C#, вам нужно $month внутри $expr, с $eq, например:

db.collection.aggregate([{$match:{$expr:{$eq:[{$month:"$DateOfCreation"},3]}}}])
...