5
Tôi đã làm việc thông qua ví dụ trên mgo homepage, nhưng tôi đang cố gắng tìm cách truy vấn một loạt các giá trị. Điểm mấu:
searchResults, searchErr = SearchReading(bson.M{"k": key, "t": { $gte: start, $lte: end } }, limit)
không thành công với:
line67: syntax error: unexpected $
line67: missing type in composite literal
Sử dụng golang và mgo, làm cách nào để tìm kiếm một loạt các giá trị trong MongoDB?
tôi rời ra các bit không cần thiết của mã ...
type Reading struct {
K string "k"
T int64 "t"
V float64 "v"
}
func SearchReading(q interface{}, limit int) (searchResults []Reading, searchErr string) {
searchErr = ""
searchResults = []Reading{}
query := func(c *mgo.Collection) error {
fn := c.Find(q).Limit(limit).All(&searchResults)
if limit < 0 {
fn = c.Find(q).All(&searchResults)
}
return fn
}
search := func() error {
return withCollection("reading", query)
}
err := search()
if err != nil {
searchErr = "Database Error"
}
return
}
func GetReadingsForKey(key string, start int64, end int64, limit int) (searchResults []Reading, searchErr string) {
searchResults, searchErr = SearchReading(bson.M{"k": key, "t": { $gte: start, $lte: end } }, limit)
return
}
Vui lòng chấp nhận câu trả lời của riêng bạn để đánh dấu câu hỏi này đã được trả lời. Bạn cũng có thể thêm một giải thích ngắn, ví dụ, '$ gte' được hiểu là biến, không thể có' $ 'ngay từ đầu, đó là lý do trình biên dịch phàn nàn về ký tự không mong muốn. – nemo
Cảm ơn, SO không cho phép tôi chấp nhận câu trả lời của riêng tôi trong vòng hai ngày sau khi đăng câu hỏi, nhưng sẽ làm càng sớm càng tốt –
Tôi nghĩ bây giờ là lúc. – fabrizioM