Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Giới hạn ký tự trả về từ trường trong MongoDB với $substr

Toán tử $substr (legacy) hoặc $substrCP / $substrBytes (MongoDB 3.4+) trong aggregate cho phép cắt chuỗi con theo vị trí và độ dài.

Dữ liệu mẫu

> db.demo233.insertOne({"Paragraph":"My Name is John Smith.I am learning MongoDB database"});
> db.demo233.insertOne({"Paragraph":"David Miller is a good student and learning Spring and Hibernate Framework."});

Pipeline aggregate $substr

> db.demo233.aggregate([
    { $project: { 
        Paragraph: { $substr: [ "$Paragraph", 0, 10 ] } 
    }}
]);

Kết quả (10 ký tự đầu)

{ "_id" : ObjectId("5e41877df4cebbeaebec5146"), "Paragraph" : "My Name is" }
{ "_id" : ObjectId("5e4187d7f4cebbeaebec5147"), "Paragraph" : "David Mill" }

3 phiên bản $substr:

Cú pháp: { $substrCP: [ , , ] }

  • start_index: 0 = ký tự đầu, số âm = từ cuối (-1 = cuối)
  • length: Số ký tự lấy, -1 = lấy đến hết chuỗi

Ví dụ: {$substrCP: ["$str", 5, -1]} lấy từ ký tự 6 đến hết.

Toán tửĐếm bằngPhiên bản
$substrBytes (legacy)Tất cả
$substrBytesBytes (UTF-8)3.4+
$substrCPCode Points (Unicode)3.4+