MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB trong Go với mgo, các toán tử với bson.M / bson.D luôn gặp lỗi cú pháp

bson.M là một loại bản đồ, vì vậy bson.M{ ... } là một chữ bản đồ . Nếu các cặp khóa-giá trị được viết thành nhiều hàng thì mỗi hàng phải kết thúc bằng dấu phẩy. Để biết chi tiết, hãy xem Làm cách nào để ngắt một dòng mã dài trong Golang?

Ngoài ra không có "giao diện" theo nghĩa đen, bỏ đó. Giá trị của interface{} kiểu có thể giữ / bọc bất kỳ giá trị nào, bao gồm bson.M giá trị. Và giao diện interface{} tạo giá trị là tự động, bạn thậm chí không cần một loại chuyển đổi .

Cú pháp đúng:

convIter := Session.Copy().DB("").C("convs").Find(bson.M{
    "conversationStatus": bson.M{
        "$ne": "DESTROYED",
    },
}).Iter()

Tương tự, nếu bạn sử dụng bson.D type (là một lát cắt), các dòng không kết thúc bằng dấu ngoặc đóng của nghĩa đen phải kết thúc bằng dấu phẩy, ví dụ:

d := bson.D{
    {Name: "fieldA", Value: 1},
    {Name: "fieldB", Value: "running"},
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm tài liệu cuối cùng trong ngày trong 7 ngày qua

  2. Mongoose Query để lọc một mảng và điền nội dung liên quan

  3. Nodejs + mongodb:Làm thế nào để truy vấn các trường $ ref?

  4. Node.js:Tài liệu trả về không xác định - Mongoose

  5. Làm cách nào để cài đặt mongodb trên beaglebone đen