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 ý
printjsonin ra stdout của shell, không ghi vào file log của MongoDB server.- Dùng trong file script
.jschạy bằngmongosh file.jshoặcmongo 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.