Как продолжение моего собственного вопроса:
Мне нужно контролировать длину комнатных сообщений, чтобы она была меньше 100, аналогично методу очереди, первым пришел, первым вышел.
Пример кода для Голанга выглядит следующим образом:
query := bson.M{
"room_customer.customer_id": msg.FromUserName,
}
changes := bson.M{
"$push": bson.M{"room_messages": bson.M{"$each": []model.RoomMessage{
{
Msg: msgText,
CreateTime: time.Now(),
},
},
"$slice": -100}},
}
roomCollection.Update(query, changes)
Таким образом, вы можете вести запись чата в комнате разговоров до 100 сообщений всегда, я надеюсь, что это будет полезно для людей, которые сталкиваются с подобными проблемами!