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

Beberapa kueri $where di MongoDB

Saya kira Anda agak mencampur sintaks antara JavaScript dan MongoDB.
$where dieksekusi oleh mesin JavaScript di sisi server, jadi $where . Anda pernyataan harus sesuai dengan sintaks JavaScipt. Misalnya, this.chr.no == 5 sebenarnya this.chr[index].no == 5 seperti yang Anda harapkan; dan suatu variabel tidak mungkin sama dengan dua nilai yang berbeda pada waktu yang sama. Kode berikut untuk referensi Anda:

var judge = function () {
    var unexpect = "X";
    var letter1 = unexpect, letter2 = unexpect;
    for (var i in this.chr) {
        var chr = this.chr[i];
        if (chr.no == 5) {
            letter1 = chr.letter;
        } else if (chr.no == 6) {
            letter2 = chr.letter;
        }
    }
    if (letter1 != letter2 && letter1 != unexpect && letter2 != unexpect) {
        return true;
    }
    return false;
};

db.sss.find({
    "pos": { "$gte": 200000, "$lt": 2000000 },
    "$and" : [{"chr.no" : 5}, {"chr.no" : 6}],    // narrow range further
    "$where": judge
}, {"x_type":1, "sub_name":1, "name":1, "pos":1, "s_type":1, _id:0});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara menjalankan file js di mongo menggunakan data pegas

  2. Validasi unik luwak tidak berfungsi. Entri duplikat disimpan

  3. Bagaimana cara menghitung item tanggal yang berbeda dalam bidang cap waktu di Mongoose/NodeJS?

  4. Berurusan dengan kondisi balapan dan kelaparan saat membuat ID unik menggunakan MongoDB + NodeJS

  5. bagaimana cara membuat variabel menjadi kunci unik di luwak?