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

Konversikan tanggal ISO ke format yyyy-mm-dd

Pertimbangkan untuk menjalankan pipa agregasi yang memungkinkan Anda meratakan daftar data terlebih dahulu, memproyeksikan bidang baru menggunakan $dateToString operator, lalu kelompokkan kembali dokumen yang diratakan untuk mendapatkan hasil yang Anda inginkan.

Hal di atas dapat ditampilkan dalam tiga jalur pipa yang berbeda:

db.users.aggregate([
    { "$match": { "username": "xyz" } },
    { "$unwind": "$followers" },
    {
        "$project": {
            "username": 1,
            "count": "$followers.count",
            "date": { "$dateToString": { "format": "%Y-%m-%d", "date": "$followers.ts" } }
        }
    },
    {
        "$group": {
            "_id": "$_id",
            "username": { "$first": "$username" },
            "followers": { "$push": {
                "count": "$count",
                "date": "$date"
            }}
        }
    }
])

Dengan MongoDB 3.4 dan yang lebih baru, Anda dapat menggunakan $addFields langkah pipa bersama dengan $map untuk membuat bidang array tanpa perlu melepas dan mengelompokkan:

db.users.aggregate([
    { "$match": { "username": "xyz" } },    
    {
        "$addFields": {
            "followers": { 
                "$map": { 
                    "input": "$followers", 
                    "as": "follower",
                    "in": { 
                        "count": "$$follower.count", 
                        "date": { 
                            "$dateToString": { 
                                "format": "%Y-%m-%d", 
                                "date": "$$follower.ts" 
                            }
                        } 
                    } 
                } 
            }
        }
    }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose - mengakses objek bersarang dengan .populate

  2. Masukkan Dataframe Pandas ke mongodb menggunakan PyMongo

  3. hitung kemunculan array di semua dokumen dengan mongo

  4. Luwak tidak memperbarui dokumen saya jika saya tidak memiliki fungsi panggilan balik

  5. Pengecualian batas waktu soket di Mongo