Để đảo ngược trường mảng trong MongoDB, bạn có thể sử dụng forEach (). Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.reverseArrayDemo.insertOne({"Skills":["C","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5ccddf99dceb9a92e6aa1946") }
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.reverseArrayDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5ccddf99dceb9a92e6aa1946"), "Skills" : [ "C", "Java" ] }
Đây là truy vấn đảo ngược trường mảng trong MongoDB -
> db.reverseArrayDemo.find().forEach(function (myDocument) { ... var arrayValue = [ myDocument.Skills[1], myDocument.Skills[0] ]; ... db.reverseArrayDemo.update(myDocument, { $set: {Skills : arrayValue } }); ... });
Hãy để chúng tôi hiển thị tài liệu từ bộ sưu tập trên để kiểm tra trường mảng hiện đã được đảo ngược hay chưa -
> db.reverseArrayDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5ccddf99dceb9a92e6aa1946"), "Skills" : [ "Java", "C" ] }