Computer >> Máy Tính >  >> Lập trình >> MongoDB

Trường mảng đảo ngược trong MongoDB?

Để đả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"
   ]
}