gpt4 book ai didi

mongodb - mongodb 管道查询 $project 中的错误应该是什么?

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

我正在 mongodb 集合中传输我的数据,但它不会向我返回任何数据,代码如下:-

func GetLog(c *gin.Context) {
values := c.Query("value")
fmt.Println("value", values)
result := []bson.M{}
mongoSession := config.ConnectDb()
getCollection := mongoSession.DB(config.Database).C(config.LogCollection)
pipe := getCollection.Pipe([]bson.M{
bson.M{"$unwind": "$booking_details"},
bson.M{"$project": bson.M{
"role":1,
"date":1,
"idadress":1,
"booking":1,
"booking_values":bson.M{"$objectToArray":"$booking"},
} },
bson.M{"$match": bson.M{
"booking_values.v" : bson.RegEx{"(?i).*"+values+".*", "i"},
}}, } )
fmt.Println(pipe)
err := pipe.All(&result)
fmt.Println(result)
}

在值中会有 string 为什么这不会给我任何结果。 mongodb 中的数据是:

 {
"_id": ObjectId("5b3d970398e9d099427896c3"),
"role": "New Booking is there by abc",
"date": "07/04/2018",
"idaddress": "213.123.123.213",
"booking": {
"bedroom": 4,
"bathroom": 6,
"customer": "abc",
"email": "abc@gmail.com",
"provider": "provider1",
"address": "brazil",
"appt": "123456",
"phone": "987654321"
}
}

结构如下:

 type Log struct {
Id bson.ObjectId `json:"_id" bson:"_id,omitempty"`
Role string `json:"role" bson:"role"`
Date string `json:"date" bson:"date"`
IpAddress string `json:"idaddress" bson:"idaddress"`
Booking interface{} `json:"booking" bson:"booking"`
}
type Logs []Log

最佳答案

将您的 pipe 代码更改为以下代码:-

pipe := getCollection.Pipe([]bson.M{ 
bson.M{"$project": bson.M{
"role":1,
"date":1,
"idaddress":1,
"booking":1,
"booking_values":bson.M{"$objectToArray":"$booking"},
} },
bson.M{"$match": bson.M{
"booking_values.v" : bson.RegEx{"(?i).*"+values+".*", "i"},
}}, } )

你没有 booking_details 字段,正如 icza 所说,所以你必须删除它,然后运行你的代码。

关于mongodb - mongodb 管道查询 $project 中的错误应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51208496/

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