Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongoose将返回的数据限制到模型_Node.js_Mongodb_Mongoose - Fatal编程技术网

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 } })