是否可以在NodeJS控制器中查找Mongoose模型中字段的数据类型?
我正在Node 12和Mongoose 5中构建NodeJS API。
我正在使用mongoose-pagination-v2插件构建分页。
我想动态生成Mongodb查询操作符。我遇到的问题是,在动态创建Mongodb查询操作符之前,我需要知道要过滤的字段的数据类型。我希望能够检查模型字段的数据类型,以应用正确类型的Mongo查询操作。
否则,我将对数据类型应用不正确的操作类型。例如CastError: Cast to Can't use $options with Number
我想做什么的psuedocode示例:
if (myModel[filterBy].type === 'String') { // A fake condition, I want to check the model data type here... is this possible?
// String filtering
const filterOperator = { [filterBy]: { "$regex": filterValue }};
} else if (myModel[filterBy].type === 'Number') { // Is this possible?
// Number filtering
const filterOperator = { [filterBy]: filterValue };
}
1条答案
按热度按时间fkaflof61#
您可以从模式中获取类型(来自mongoose文档)
在您的示例中: