gpt4 book ai didi

mongodb - 使用 mgo 将数据插入 MongoDB

转载 作者:IT老高 更新时间:2023-10-28 13:07:49 24 4
gpt4 key购买 nike

我正在尝试使用 Go 在 MongoDB 中插入一些数据。

这是数据结构:

type Entry struct {
Id string `json:"id",bson:"_id,omitempty"`
ResourceId int `json:"resource_id,bson:"resource_id"`
Word string `json:"word",bson:"word"`
Meaning string `json:"meaning",bson:"meaning"`
Example string `json:"example",bson:"example"`
}

这是我的插入函数:

func insertEntry(db *mgo.Session, entry *Entry) error {
c := db.DB(*mongoDB).C("entries")
count, err := c.Find(bson.M{"resourceid": entry.ResourceId}).Limit(1).Count()
if err != nil {
return err
}
if count > 0 {
return fmt.Errorf("resource %s already exists", entry.ResourceId)
}
return c.Insert(entry)
}

最后,我是这样调用它的:

entry := &Entry{
ResourceId: resourceId,
Word: word,
Meaning: meaning,
Example: example,
}
err = insertEntry(db, entry)
if err != nil {
log.Println("Could not save the entry to MongoDB:", err)
}

问题是,我希望我的 bson 标签能神奇地工作,但事实并非如此。而不是将数据保存为:

{ "_id" : ObjectId("53700d9cd83e146623e6bfb4"), "resource_id" : 7660708, "word" : "Foo" ...}

它被保存为:

{ "_id" : ObjectId("53700d9cd83e146623e6bfb4"), "id" : "", "resourceid" : 7660708, "word" : "Foo"...}

我该如何解决这个问题?

最佳答案

将条目更改为:

type Entry struct {
Id string `json:"id" bson:"_id,omitempty"`
ResourceId int `json:"resource_id" bson:"resource_id"`
Word string `json:"word" bson:"word"`
Meaning string `json:"meaning" bson:"meaning"`
Example string `json:"example" bson:"example"`
}

结构标签的语法在标签之间不使用逗号。我相信这应该可以解决它。

关于mongodb - 使用 mgo 将数据插入 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23599235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com