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

Bagaimana cara memindahkan item dalam array MongoDB?

Berikut adalah cara lain untuk memindahkan elemen ke posisi baru yang akan menukar posisi it2 dan it3...

  1. Hapus elemen dari larik menggunakan $pull [ Documents Here ] .

    update({"name": "myDoc"}, {$pull: {"items" : "it3"}});
    
  2. Masukkan elemen di posisi baru menggunakan $push. [ Dokumen Di Sini ] .

    update({"name": "myDoc"}, { 
        $push: { 
            "items" : { $each : [ "it3" ], $position : 1 }
        }
    });
    

Kapan Menggunakan

Jawaban Pouzor untuk menggunakan $set mungkin lebih sederhana dan berkinerja lebih baik untuk banyak kasus penggunaan.

Namun, jika beberapa pengguna secara bersamaan menambahkan, menghapus, dan mengurutkan ulang item array, metode ini berarti Anda tidak akan saling menimpa perubahan satu sama lain.

Mungkin juga lebih efisien dalam beberapa kasus (misalnya elemen array besar) karena lebih sedikit data yang ditulis.

GOTCHA:Daftar Daftar

Jika daftar yang Anda susun ulang adalah larik larik, Anda perlu menggunakan $all operator dengan $pull [ Documents Here ]

Ambil contoh ini:

{
    name: "myDoc",
    items: [  
        [ "User", "dofij20r91dj93" ],   
        [ "User", "239vjvidjfsldf" ], 
        [ "User", "2309jvdsjdkk23" ]
    ]
}

Berikut kode untuk menghapus daftar pertama dari daftar daftar:

update({"name": "myDoc"}, {
    $pull: {
        "items" : {
            $all : [ "User", "dofij20r91dj93" ]  // the sub-list to $pull
        }
    }
});

Daftar Objek

Ini mudah. Katakanlah Anda memiliki daftar objek berikut:

{
    name: "myDoc",
    items: [  
        { type: "User",  id: "dofij20r91dj93", name: "Dave" },   
        { type: "Group", id: "239vjvidjfsldf", name: "Accountants" }, 
        { type: "User",  id: "2309jvdsjdkk23", name: "Toni" }
    ]
}

Anda dapat $menarik seperti ini:

update({"name": "myDoc"}, {
    $pull: { 
        "items" : { type: "User", id: "dofij20r91dj93" } 
    }
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor tanpa mongo

  2. Mencantumkan semua koleksi dalam database mongo dalam skrip nodejs

  3. Hapus Duplikat dari MongoDB

  4. MongoDB $ne Operator Pipa Agregasi

  5. Cara mengelompokkan berdasarkan bidang yang berbeda