gpt4 book ai didi

angularjs - 用 golang 重复记录

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:24 26 4
gpt4 key购买 nike

我是 Golang 的新手,我想在 mongodb 中读取汽车记录,所以我最多有 29 条记录我创建了一个 cars.go 充当 Controller 并用该代码填充它

func (controller CarController) GetIndex(c *gin.Context) {
carList:=controller.carService.Find(&bson.M{})
c.JSON(http.StatusOK, &carList)
//fmt.Println(carList)
}

在我的 carService.go 中我编写了代码

func (r CarService) Find(query *bson.M) (cars []models.Car) {
session, _ := mgo.Dial(r.uri)
defer session.Close()
session.SetSafe(&mgo.Safe{})
collection := session.DB(r.dbName).C(r.collectionName)

collection.Find(query).All(&cars)

fmt.Println(cars)
return cars

}

在我的 main.go 路由器中是

router.GET("/car",carBaseController.GetIndex)

当我用 fmt.Println(carList) 测试 fir-fox 控制台时,我看到了这样的重复记录

 [
{
"Id":"56b636688a47a60aa8601f57",
"model":"ayman",
"brand":"islamic",
"CreatedAt":6248241353327640577
},
{
"Id":"56b63b658a47a605dc9e8e38",
"model":"ayman",
"brand":"islamic",
"CreatedAt":6248246838000877569
},
{
"Id":"56b642728a47a62364f3e0e0",
"model":"ayman 0",
"brand":"islamic 0",
"CreatedAt":6248254590416846849
},
{
"Id":"56b642728a47a62364f3e0e1",
"model":"ayman 1",
"brand":"islamic 1",
"CreatedAt":6248254590416846850
},
{
"Id":"56b642728a47a62364f3e0e2",
"model":"ayman 2",
"brand":"islamic 2",
"CreatedAt":6248254590416846851
},
{
"Id":"56b642728a47a62364f3e0e3",
"model":"ayman 3",
"brand":"islamic 3",
"CreatedAt":6248254590416846852
},
{
"Id":"56b642728a47a62364f3e0e4",
"model":"ayman 4",
"brand":"islamic 4",
"CreatedAt":6248254590416846853
},
{
"Id":"56b642728a47a62364f3e0e5",
"model":"ayman 5",
"brand":"islamic 5",
"CreatedAt":6248254590416846854
},
{
"Id":"56b642728a47a62364f3e0e6",
"model":"ayman 6",
"brand":"islamic 6",
"CreatedAt":6248254590416846855
},
{
"Id":"56b642728a47a62364f3e0e7",
"model":"ayman 7",
"brand":"islamic 7",
"CreatedAt":6248254590416846856
},
{
"Id":"56b642728a47a62364f3e0e8",
"model":"ayman 8",
"brand":"islamic 8",
"CreatedAt":6248254590416846857
},
{
"Id":"56b642728a47a62364f3e0e9",
"model":"ayman 9",
"brand":"islamic 9",
"CreatedAt":6248254590416846858
},
{
"Id":"56b642728a47a62364f3e0ea",
"model":"ayman 10",
"brand":"islamic 10",
"CreatedAt":6248254590416846859
},
{
"Id":"56b642728a47a62364f3e0eb",
"model":"ayman 11",
"brand":"islamic 11",
"CreatedAt":6248254590416846860
},
{
"Id":"56b642728a47a62364f3e0ec",
"model":"ayman 12",
"brand":"islamic 12",
"CreatedAt":6248254590416846861
},
{
"Id":"56b642728a47a62364f3e0ed",
"model":"ayman 13",
"brand":"islamic 13",
"CreatedAt":6248254590416846862
},
{
"Id":"56b642728a47a62364f3e0ee",
"model":"ayman 14",
"brand":"islamic 14",
"CreatedAt":6248254590416846863
},
{
"Id":"56b642728a47a62364f3e0ef",
"model":"ayman 15",
"brand":"islamic 15",
"CreatedAt":6248254590416846864
},
{
"Id":"56b642728a47a62364f3e0f0",
"model":"ayman 16",
"brand":"islamic 16",
"CreatedAt":6248254590416846865
},
{
"Id":"56b642728a47a62364f3e0f1",
"model":"ayman 17",
"brand":"islamic 17",
"CreatedAt":6248254590416846866
},
{
"Id":"56b642728a47a62364f3e0f2",
"model":"ayman 18",
"brand":"islamic 18",
"CreatedAt":6248254590416846867
},
{
"Id":"56b642728a47a62364f3e0f3",
"model":"ayman 19",
"brand":"islamic 19",
"CreatedAt":6248254590416846868
},
{
"Id":"56b642728a47a62364f3e0f4",
"model":"ayman 20",
"brand":"islamic 20",
"CreatedAt":6248254590416846869
},
{
"Id":"56b642728a47a62364f3e0f5",
"model":"ayman 21",
"brand":"islamic 21",
"CreatedAt":6248254590416846870
},
{
"Id":"56b642728a47a62364f3e0f6",
"model":"ayman 22",
"brand":"islamic 22",
"CreatedAt":6248254590416846871
},
{
"Id":"56b642728a47a62364f3e0f7",
"model":"ayman 23",
"brand":"islamic 23",
"CreatedAt":6248254590416846872
},
{
"Id":"56b642728a47a62364f3e0f8",
"model":"ayman 24",
"brand":"islamic 24",
"CreatedAt":6248254590416846873
},
{
"Id":"56b642728a47a62364f3e0f9",
"model":"ayman 25",
"brand":"islamic 25",
"CreatedAt":6248254590416846874
},
{
"Id":"56b642728a47a62364f3e0fa",
"model":"ayman 26",
"brand":"islamic 26",
"CreatedAt":6248254590416846875
},
{
"Id":"56b642728a47a62364f3e0fb",
"model":"ayman 27",
"brand":"islamic 27",
"CreatedAt":6248254590416846876
},
{
"Id":"56b642728a47a62364f3e0fc",
"model":"ayman 28",
"brand":"islamic 28",
"CreatedAt":6248254590416846877
},
{
"Id":"56b642728a47a62364f3e0fd",
"model":"ayman 29",
"brand":"islamic 29",
"CreatedAt":6248254590416846878
},
{
"Id":"56b6e2f98a47a60d50c13ef9",
"model":"ayman 0",
"brand":"islamic 0",
"CreatedAt":6248431092097875969
},
{
"Id":"56b6e2f98a47a60d50c13efa",
"model":"ayman 1",
"brand":"islamic 1",
"CreatedAt":6248431092097875970
},
{
"Id":"56b6e2f98a47a60d50c13efb",
"model":"ayman 2",
"brand":"islamic 2",
"CreatedAt":6248431092097875971
},
{
"Id":"56b6e2f98a47a60d50c13efc",
"model":"ayman 3",
"brand":"islamic 3",
"CreatedAt":6248431092097875972
},
{
"Id":"56b6e2f98a47a60d50c13efd",
"model":"ayman 4",
"brand":"islamic 4",
"CreatedAt":6248431092097875973
},
{
"Id":"56b6e2f98a47a60d50c13efe",
"model":"ayman 5",
"brand":"islamic 5",
"CreatedAt":6248431092097875974
},
{
"Id":"56b6e2f98a47a60d50c13eff",
"model":"ayman 6",
"brand":"islamic 6",
"CreatedAt":6248431092097875975
},
{
"Id":"56b6e2f98a47a60d50c13f00",
"model":"ayman 7",
"brand":"islamic 7",
"CreatedAt":6248431092097875976
},
{
"Id":"56b6e2f98a47a60d50c13f01",
"model":"ayman 8",
"brand":"islamic 8",
"CreatedAt":6248431092097875977
},
{
"Id":"56b6e2f98a47a60d50c13f02",
"model":"ayman 9",
"brand":"islamic 9",
"CreatedAt":6248431092097875978
},
{
"Id":"56b6e2f98a47a60d50c13f03",
"model":"ayman 10",
"brand":"islamic 10",
"CreatedAt":6248431092097875979
},
{
"Id":"56b6e2f98a47a60d50c13f04",
"model":"ayman 11",
"brand":"islamic 11",
"CreatedAt":6248431092097875980
},
{
"Id":"56b6e2f98a47a60d50c13f05",
"model":"ayman 12",
"brand":"islamic 12",
"CreatedAt":6248431092097875981
},
{
"Id":"56b6e2f98a47a60d50c13f06",
"model":"ayman 13",
"brand":"islamic 13",
"CreatedAt":6248431092097875982
},
{
"Id":"56b6e2f98a47a60d50c13f07",
"model":"ayman 14",
"brand":"islamic 14",
"CreatedAt":6248431092097875983
},
{
"Id":"56b6e2f98a47a60d50c13f08",
"model":"ayman 15",
"brand":"islamic 15",
"CreatedAt":6248431092097875984
},
{
"Id":"56b6e2f98a47a60d50c13f09",
"model":"ayman 16",
"brand":"islamic 16",
"CreatedAt":6248431092097875985
},
{
"Id":"56b6e2f98a47a60d50c13f0a",
"model":"ayman 17",
"brand":"islamic 17",
"CreatedAt":6248431092097875986
},
{
"Id":"56b6e2f98a47a60d50c13f0b",
"model":"ayman 18",
"brand":"islamic 18",
"CreatedAt":6248431092097875987
},
{
"Id":"56b6e2f98a47a60d50c13f0c",
"model":"ayman 19",
"brand":"islamic 19",
"CreatedAt":6248431092097875988
},
{
"Id":"56b6e2f98a47a60d50c13f0d",
"model":"ayman 20",
"brand":"islamic 20",
"CreatedAt":6248431092097875989
},
{
"Id":"56b6e2f98a47a60d50c13f0e",
"model":"ayman 21",
"brand":"islamic 21",
"CreatedAt":6248431092097875990
},
{
"Id":"56b6e2f98a47a60d50c13f0f",
"model":"ayman 22",
"brand":"islamic 22",
"CreatedAt":6248431092097875991
},
{
"Id":"56b6e2f98a47a60d50c13f10",
"model":"ayman 23",
"brand":"islamic 23",
"CreatedAt":6248431092097875992
},
{
"Id":"56b6e2f98a47a60d50c13f11",
"model":"ayman 24",
"brand":"islamic 24",
"CreatedAt":6248431092097875993
},
{
"Id":"56b6e2f98a47a60d50c13f12",
"model":"ayman 25",
"brand":"islamic 25",
"CreatedAt":6248431092097875994
},
{
"Id":"56b6e2f98a47a60d50c13f13",
"model":"ayman 26",
"brand":"islamic 26",
"CreatedAt":6248431092097875995
},
{
"Id":"56b6e2f98a47a60d50c13f14",
"model":"ayman 27",
"brand":"islamic 27",
"CreatedAt":6248431092097875996
},
{
"Id":"56b6e2f98a47a60d50c13f15",
"model":"ayman 28",
"brand":"islamic 28",
"CreatedAt":6248431092097875997
},
{
"Id":"56b6e2f98a47a60d50c13f16",
"model":"ayman 29",
"brand":"islamic 29",
"CreatedAt":6248431092097875998
}
]

我该如何解决这个问题???

最佳答案

不太明白,所以我假设问题是多行具有相同的数据。

如果您查看记录的id,它们都是不同的,这意味着它们实际上是不同的记录。我猜你在 MongoDB 中多次插入同一个对象而没有指定 ObjectId。结果,Mongo 无法检测到重复项并将记录接受为新记录。

In MongoDB, documents stored in a collection require a unique _id field that acts as a primary key. MongoDB uses ObjectIds as the default value for the _id field if the _id field is not specified;

清理您的数据库,在您的 mongo 集合中创建一个有意义的文档 ID (more info here),您应该没问题。

关于angularjs - 用 golang 重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35254401/

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