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

Mongodb jika kemudian kondisi di bawah filter cara membuatnya

Setelah diskusi di chat, tampaknya masalah keseluruhan adalah bagaimana memilih dokumen dari koleksi utama berdasarkan 2 kriteria dokumen sejarah terkait:

db.main.aggregate([
  {$lookup: {
      from: "history",
      localField: "history_id",
      foreignField: "history_id",
      as: "History"
  }},
  {$match: {
      $expr: {
        $eq: [
          false,
          {$reduce: {
              input: "$History",
              initialValue: false,
              in: {
                $or: [
                  "$$value",
                  {$and: [
                      {$eq: [
                          "$$this.user_id",
                          ObjectId("5e4a8d2d3952132a08ae5764")
                      ]},
                      {$gte: [
                          "$$this.date",
                          "$date"
                      ]}
                  ]}
                ]
              }
          }}
        ]
      }
  }}
])

Taman bermain




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo/Mongoengine setara dengan mongodump

  2. bson.D vs bson.M untuk menemukan kueri

  3. Cara memperbaiki terlalu banyak kesalahan file terbuka saat menggabungkan miliaran catatan

  4. NodeJS logout semua sesi pengguna

  5. Bereaksi Asli - tidak dapat mengimpor luwak di ujung depan (tetapi berfungsi dari ujung belakang)