Node.js Mongoose将返回的数据限制到模型
我有最基本的猫鼬模式。大概是这样的:Node.js Mongoose将返回的数据限制到模型,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有最基本的猫鼬模式。大概是这样的: var mongoose = require("mongoose"); var Schema = mongoose.Schema; ConfigSchema = new Schema({ title: String }); module.exports = mongoose.model("Config", ConfigSchema); 如果我使用此模型从集合中获取数据(使用find函数),我将获得整个对象。 电话: 返回的数据: 我认为Mongo
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
ConfigSchema = new Schema({
title: String
});
module.exports = mongoose.model("Config", ConfigSchema);
如果我使用此模型从集合中获取数据(使用find
函数),我将获得整个对象。电话: 返回的数据: 我认为Mongoose会根据模型验证获取的数据,只返回符合模型的数据,所以在本例中,只返回元素的标题。我知道我可以使用Mongoose上的
strict
属性在save上强制执行模型,但我要寻找的是一种只获取建模数据的方法
这里有没有我遗漏的东西,或者我只是在寻找我想要实现的错误工具。
我发现它似乎与我所寻找的一样,但我不想覆盖Mongoose模式,只是为了在我获取数据时强制执行它。似乎没有内置的查询功能,但您可以轻松实现自己的模式 当您运行
Config.find
时,将生成以下查询:
configs.find({}, { projection: { title: 1, _id: 1, __v: 1, id: 1 } })
ConfigSchema.pre('find', function() {
this.select(Object.keys(ConfigSchema.tree));
});
configs.find({}, { projection: { title: 1, _id: 1, __v: 1, id: 1 } })