Удалите все документы старше даты, используя _id в монго, используя mgo

Я работаю в Golang и mgo и хочу удалить все документы в коллекции старше указанной даты, используя значение _id.

До сих пор я пытался создать фиктивный objectId, используя структуру NewObjectIdWithTime, после чего я пытаюсь удалить документы, используя

collection.Remove(bson.M{"_id": bson.M{"$lt": objectId}})

Но я не получаю никаких результатов, есть предложения?


person Bestbug    schedule 22.12.2015    source источник
comment
почему кто-то должен отрицать такой вопрос?   -  person turkishweb    schedule 22.12.2015
comment
Я согласен. Этот вопрос полезен, хотя его можно улучшить.   -  person Markus W Mahlberg    schedule 22.12.2015
comment
Я заметил много странных отрицательных голосов вокруг вопросов MongoDB. Я думаю, что некоторым здесь не нравится MongoDB...   -  person Xunnamius    schedule 07.07.2020


Ответы (1)


Мне действительно не нравится отвечать самому себе, но поскольку единственной помощью, которую я получаю от сообщества stackoverflow, была отрицательная оценка (без каких-либо объяснений), я публикую решение:

Проблема в том, что у mgo есть RemoveAll, где удалить все элементы, соответствующие критериям, поэтому мой новый запрос: collection.RemoveAll(bson.M{"_id": bson.M{"$lt": objectId}})

person Bestbug    schedule 22.12.2015