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

MongoDB $lantai

Di MongoDB, $floor operator pipeline agregasi mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan angka yang ditentukan.

$floor menerima ekspresi valid apa pun yang menghasilkan angka.

Contoh

Misalkan kita memiliki koleksi yang disebut test dengan dokumen sebagai berikut:

{ "_id" : 1, "data" : 8.99 }
{ "_id" : 2, "data" : 8.01 }
{ "_id" : 3, "data" : -8.99 }
{ "_id" : 4, "data" : -8.01 }
{ "_id" : 5, "data" : 8 }

Kita dapat menggunakan $floor operator untuk mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan data bidang:

db.test.aggregate(
  [
    { $project: { 
        data: 1,
        floor: { $floor: "$data" }
      }
    }
  ]
)

Hasil:

{ "_id" : 1, "data" : 8.99, "floor" : 8 }
{ "_id" : 2, "data" : 8.01, "floor" : 8 }
{ "_id" : 3, "data" : -8.99, "floor" : -9 }
{ "_id" : 4, "data" : -8.01, "floor" : -9 }
{ "_id" : 5, "data" : 8, "floor" : 8 }

Dalam contoh ini, data bidang adalah nilai asli, dan floor bidang adalah dasar dari nilai tersebut.

Nilai Null

Nilai nol mengembalikan null saat menggunakan $floor operator.

Misalkan kita menambahkan dokumen berikut ke koleksi kita:

{ "_id" : 6, "data" : null }

Mari kita terapkan $floor operator terhadap dokumen itu:

db.test.aggregate(
  [
    { $match: { _id: 6 } },
    { $project: { 
        floor: { $floor: "$data" }
      }
    }
  ]
)

Hasil:

{ "_id" : 6, "floor" : null }

Kita dapat melihat bahwa hasilnya adalah null .

Nilai NaN

Jika argumen diselesaikan menjadi NaN , $floor mengembalikan NaN .

Contoh:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        floor: { $floor: "$data" * 1 }
      }
    }
  ]
)

Hasil:

{ "_id" : 1, "floor" : NaN }

Bidang Tidak Ada

Jika $floor operator diterapkan pada bidang yang tidak ada, null dikembalikan.

Contoh:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        floor: { $floor: "$name" }
      }
    }
  ]
)

Hasil:

{ "_id" : 1, "floor" : null }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana Otomasi Basis Data MongoDB Meningkatkan Keamanan

  2. Mongo mengonversi semua bidang numerik yang disimpan sebagai string

  3. Apakah ada yang Setara dengan SEKARANG () di MongoDB

  4. Bagaimana cara menjalankan perintah mongo melalui skrip Shell?

  5. Mongo Memberikan 'kesalahan kunci duplikat' pada bidang yang tidak unik