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

temukan dengan $type number di mongodb

Hanya ada satu tipe numerik dalam JavaScript (Number ), yang direpresentasikan dalam biner sebagai angka floating point IEEE 754 (ganda).

Dalam spesifikasi BSON ini akan direpresentasikan sebagai ganda (tipe 1), jadi Anda harus dapat menemukan dengan:

db.people.find({name: { $type: 1 }})

Ada beberapa mongo shell helper jika Anda ingin memasukkan tipe data yang berbeda :

42              // Type 1:  double (64-bit IEEE 754 floating point, 8 bytes)
NumberInt(42)   // Type 16: int32  (32-bit signed integer, 4 bytes)
NumberLong(42)  // Type 18: int64  (64-bit signed integer, 8 bytes)

Jadi misalnya:

db.people.insert({ name: 'default', num: 42 })
db.people.insert({ name: 'NumberLong', num: NumberLong(42) })
db.people.insert({ name: 'NumberInt', num: NumberInt(42) })

Representasi numerik yang berbeda akan tetap cocok jika Anda melakukan find() pada angka yang dapat direpresentasikan dalam berbagai format (yaitu integer 32-bit juga dapat direpresentasikan sebagai double atau int64).

Misalnya:

db.people.find({num:42})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f45"),
    "name" : "default",
    "num" : 42
}
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f46"),
    "name" : "NumberLong",
    "num" : NumberLong(42)
}
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f47"),
    "name" : "NumberInt",
    "num" : 42
}

Namun jika Anda menemukan dengan $type , representasi BSON berbeda:

> db.people.find({num: { $type: 1 }})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f45"),
    "name" : "default",
    "num" : 42
}

> db.people.find({num: { $type: 16 }})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f47"),
    "name" : "NumberInt",
    "num" : 42
}

> db.people.find({num: { $type: 18 }})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f46"),
    "name" : "NumberLong",
    "num" : NumberLong(42)
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pemantauan Database Tanpa Agen dengan ClusterControl

  2. PHP tidak dapat memuat pustaka dinamis (mongo.so)

  3. Mongo Map-Reduce To Mimic count(distinct(...)) group by in SQL

  4. Tidak dapat mengambil data dari API menggunakan Express NodeJS dan MongoDB, memuat

  5. Menanyakan dokumen tersemat bersarang dengan Mongoose