Berikut adalah cara lain untuk memindahkan elemen ke posisi baru yang akan menukar posisi it2 dan it3...
-
Hapus elemen dari larik menggunakan $pull [ Documents Here ] .
update({"name": "myDoc"}, {$pull: {"items" : "it3"}});
-
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" }
}
});