MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kueri berdasarkan bidang terhitung dengan Mongoid

Menemukan jawabannya sendiri. Dengan awalan this.* Saya bisa merujuk ke bidang. Dan saya bisa menggunakan fungsi JavaScript. MongoDB semakin keren!

Jadi inilah solusi saya:

class Invoice
  include Mongoid::Document
  field :invoice_date, :type => Date
  field :days_for_payment, :type => Integer
  ...

  scope :overdue, where("(Math.round(this.invoice_date.getTime() / 1000) + (this.days_for_payment * 24 * 3600)) < #{Time.now.to_i}")

  ...
end

Pembuatan stempel waktu di js berfungsi berbeda. Jadi saya harus membuang tiga angka terakhir dan membulatkannya. Jika ada yang tahu cara yang lebih elegan, beri tahu saya.

Satu-satunya masalah saya yang tersisa adalah, saya tidak dapat menyimpan Date objek ke MongoDB. Itu selalu memberitahu saya bahwa saya harus menggunakan Time . Saya rasa lebih baik saya mengupgrade mongoid ke 3.0.1.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb $lookup Tidak bekerja dengan _id

  2. Kursor MongoDB.hitung()

  3. Agregasi Akumulasi Objek Dalam

  4. Ambil gambar yang disimpan dari mongodb menggunakan python

  5. Apakah meteor memperbarui versi mongodb secara otomatis?