你好,在我的程序中,我需要存储用户消息,我希望文档中的消息以以下方式存储,以便消息的时间是文档中字段的名称,以及文档中的文本message 是该字段的值: 文件1: timeOfMsg: 消息文本 timeOfNextMsg: 消息文本 ...
我有一个结构:
type MsgStr struct {
Id string `bson:"_id,omitempty"`
Time time.Time `bson:"time,omitempty"`
Data string `bson:"text,omitempty"`
}
所以我需要它将数据结构中的时间值设置为文档中字段的名称,并且一个文档包含多条消息
我知道如何在没有结构的情况下做到这一点:
insertResult, err := podcastsCollection.InsertOne(ctx, bson.D{{msg.time.String(), msg.Data}})
但是我将为每条消息都有一个文档,并且我需要将所有用户的消息放在一个文档中
InsertOne
返回插入文档的ID,用它来添加带有更新的新消息:
insertResult, err := podcastsCollection.InsertOne(ctx, bson.D{
{msg.time.String(), msg.Data},
})
podcastsCollection.Update(
{"_id": insertResult.InsertedID},
{$set: {newMsg.time.String(), newMsg.Data}})