Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

แปลงค่าเป็น String ด้วย $toString ใน MongoDB Aggregation

ใช้ $toString ใน $project

โอเปอเรเตอร์ $toString (เพิ่มใน MongoDB 4.0+) แปลงค่าประเภทต่างๆ ให้เป็น String ภายใน aggregation pipeline

ตัวอย่าง: แปลง ObjectId เป็น String

สร้างคอลเลกชัน objectidToStringDemo:

> db.objectidToStringDemo.insertOne({"UserName":"John"});
> db.objectidToStringDemo.insertOne({"UserName":"Chris"});
> db.objectidToStringDemo.insertOne({"UserName":"Larry"});
> db.objectidToStringDemo.insertOne({"UserName":"Robert"});

Aggregation แปลง _id เป็น String

> db.objectidToStringDemo.aggregate([
    {$project: {
        _id: {$toString: "$_id"}
    }}
]);

ผลลัพธ์:

{ "_id" : "5c92b80036de59bd9de0639d" }
{ "_id" : "5c92b80436de59bd9de0639e" }
{ "_id" : "5c92b80936de59bd9de0639f" }
{ "_id" : "5c92b81836de59bd9de063a0" }

แปลงกลับเป็น ObjectId ด้วย $toObjectId

> db.objectidToStringDemo.aggregate([
    {$project: {_id: {$toObjectId: "$_id"}}}
]);

ผลลัพธ์: คืนค่าเป็น ObjectId แบบเดิม

$toString รองรับการแปลงจาก Boolean, Date, Number, ObjectId, Array เป็นต้น