在 Node.js 中使用 Mongoose 进行 MongoDB 数据库操作时,返回的数据通常是一个 Mongoose Document 对象。虽然这种对象包含了很多有用的方法和属性,但有时候我们需要将它转化为普通的 JSON 格式,以便于前端或其他模块的使用。
Mongoose Document 对象
Mongoose Document 是 Mongoose 中的一个类,它表示一个 MongoDB 文档对象。每个文档对象都有一个唯一的 _id
属性,以及其他定义在 Schema 中的属性。我们可以通过以下方式来获取一个 Mongoose Document 对象:
const MyModel = mongoose.model('MyModel', mySchema); const doc = await MyModel.findOne({ name: 'John' });
上面的代码中,我们使用 findOne
方法获取了一个名为 John
的文档,并将其赋值给了 doc
变量。
将 Mongoose Document 转化为 JSON 格式
将 Mongoose Document 转化为 JSON 格式很简单,只需要调用 toJSON()
方法即可。例如:
const json = doc.toJSON();
上面的代码中,我们将 doc
对象转化为了一个普通的 JSON 对象,并将其赋值给了 json
变量。
示例代码
下面是一个完整的示例代码,演示了如何将 Mongoose Document 转化为 JSON 格式:
// javascriptcn.com 代码示例 const mongoose = require('mongoose'); const { Schema } = mongoose; const mySchema = new Schema({ name: String, age: Number, }); const MyModel = mongoose.model('MyModel', mySchema); async function main() { await mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true, }); const doc = await MyModel.findOne({ name: 'John' }); const json = doc.toJSON(); console.log(json); await mongoose.disconnect(); } main().catch(console.error);
上面的代码中,我们首先定义了一个名为 MyModel
的 Mongoose 模型,并定义了一个名为 mySchema
的 Schema。然后我们使用 findOne
方法获取了一个名为 John
的文档,并将其转化为了普通的 JSON 对象,并将其输出到控制台上。
总结
本文介绍了如何将 Mongoose 返回的数据转化为正常的 JSON 格式,并提供了一个完整的示例代码。虽然这个过程很简单,但对于初学者来说可能会有些困惑。希望本文能够帮助大家更好地理解 Node.js 中的 Mongoose 操作。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655ad919d2f5e1655d50bf5f