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

In ra console object trong script MongoDB (printjson, JSON.stringify)

Trong MongoDB Shell (mongosh/legacy), có 2 cách phổ biến để in object ra console khi viết script.

Cách 1: printjson() - Được khuyến nghị

Hàm built-in định dạng đẹp (pretty-print) tự động.

printjson({ "tênTrường": "giáTrị", ... })

Cách 2: print() + JSON.stringify()

In chuỗi JSON compact (không thụt lề), hữu ích cho log parsing.

print( JSON.stringify({ "tênTrường": "giáTrị", ... }) );

Ví dụ minh họa

> printjson({ "UserId": 101, "UserName": "John", "UserCoreSubject": ["Java", "MongoDB", "MySQL", "SQL Server"] });

Kết quả (pretty):

{
    "UserId" : 101,
    "UserName" : "John",
    "UserCoreSubject" : [
        "Java",
        "MongoDB",
        "MySQL",
        "SQL Server"
    ]
}
> print( JSON.stringify({ "UserId": 101, "UserName": "John", "UserCoreSubject": ["Java", "MongoDB", "MySQL", "SQL Server"] } ) );

Kết quả (compact):

{"UserId":101,"UserName":"John","UserCoreSubject":["Java","MongoDB","MySQL","SQL Server"]}

In kết quả truy vấn (cursor)

// In tất cả document trong collection
db.collection.find().forEach(printjson);

// Hoặc gán biến
var docs = db.collection.find().toArray();
printjson(docs);

Trong MongoDB Shell mới (mongosh >= 1.0)

  • printjson() vẫn hoạt động.
  • Có thêm console.log(), console.dir(), console.table() (tương tự Node.js).
  • console.log(doc) tự động pretty-print object.

Lưu ý

  • printjson in ra stdout của shell, không ghi vào file log của MongoDB server.
  • Dùng trong file script .js chạy bằng mongosh file.js hoặc mongo file.js (legacy).
  • Tránh in dữ liệu lớn (hàng nghìn document) trực tiếp ra console - gây treo terminal.