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

triển khai mongodb diff () trong Meteor trên máy chủ?

Được rồi, sau khi tìm hiểu mã và nhận ra mongo lib chứa các triển khai gốc của tất cả các phương thức cần thiết, tôi đã sử dụng lại giải pháp tổng hợp () từ https://github.com/meteor/meteor/pull/644

Các thay đổi đơn giản và bản dịch sang coffeescript cung cấp đoạn mã sau để đưa vào mã phía máy chủ của bạn:

path = __meteor_bootstrap__.require("path")
MongoDB = __meteor_bootstrap__.require("mongodb")
Future = __meteor_bootstrap__.require(path.join("fibers", "future"))

myCollection = new Meteor.Collection "my_collection"

#hacky distinct() definition from https://github.com/meteor/meteor/pull/644
myCollection.distinct = (key)->
  future = new Future
  @find()._mongo.db.createCollection(@_name,(err,collection)=>
    future.throw err if err
    collection.distinct(key, (err,result)=>
      future.throw(err) if err
      future.ret([true,result])
      )
    )
  result = future.wait()
  throw result[1] if !result[0]
  result[1]

Nhược điểm là bạn phải xác định nó cho mọi bộ sưu tập mới nhưng điều đó khá đơn giản để khắc phục bằng một bản hack khác thông qua _.extend hoặc thứ gì đó mà tôi đoán ...

PS Bây giờ nó cũng là một gói thông minh - mrt add mongodb-aggregation



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $ lookup trên ObjectId's trong một mảng

  2. Cách áp dụng thuộc tính BsonRepresentation theo quy ước khi sử dụng MongoDB

  3. So sánh dữ liệu MongoDB Spring giữa các trường

  4. cách chèn tài liệu nhúng bằng cách sử dụng dữ liệu mùa xuân mongodb mongotemplate

  5. truy vấn mongoDB sử dụng tổng hợp để truy vấn ngày gần đây nhất của một mặt hàng