作为我自己问题的后续行动:
我需要控制房间消息的长度小于100,类似于队列、先进先出的方法。
Golang的示例代码如下:
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条信息,希望对遇到类似问题的人有所帮助!