Saya pikir apa yang Anda maksud sebagai JSON sebenarnya adalah objek dokumen Mongoose mengingat tag yang Anda tambahkan ke pertanyaan Anda. Karena objek itu dilampirkan ke "skema", Anda mungkin memiliki aturan di sana seperti bidang "wajib" atau semacamnya yang mengganggu operasi yang Anda coba lakukan.
Untuk mendapatkan kembali bentuk mentah dari Object, cukup gunakan .toObject()
metode pada hasil dokumen:
Model.findOne({ _id: id}, function(err,doc) {
var raw = doc.toObject();
delete raw.element;
console.log( raw );
});
Tentu saja Anda selalu dapat menghilangkan bidang agar tidak dikembalikan dalam hasil kueri dengan formulir dasar yang disediakan oleh .select()
:
Model.findOne({ _id: id}, '-element', function(err,doc) {
console.log( doc );
});
Bentuk mana pun akan menghapus bidang tertentu dari respons, tetapi jika Anda mungkin ingin lebih mengontrol hasil daripada apa yang dapat disediakan oleh proyeksi bidang dari .select()
kemudian gunakan .toObject()
bentuk dan manipulasi seperti objek JavaScript biasa.