私信  •  关注

Ker Li

Ker Li 最近创建的主题
Ker Li 最近回复了
5 年前
回复了 Ker Li 创建的主题 » MongoDB嵌套数组的存储空间是否非常长?

作为我自己问题的后续行动:

我需要控制房间消息的长度小于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条信息,希望对遇到类似问题的人有所帮助!