Итак, у меня есть схема Мангуста , которая имеет следующее поле:
var orderSchema = new Mongoose.Schema({
status:{
type: Types.String,
enum: ['0','2', '6', '9', '10', '11', '12'],
default: '0'
}
});
Mongoose.model("order", orderSchema);
Поле выше имеет тип строка .
Предположим, у вас есть поле состояния со значением "2"
в БД.Если я выполню приведенный ниже запрос из оболочки mongo, он не даст никакого результата:
db.orders.findOne({status: 2});
не будет работать и, как и ожидалось, будет работать
db.orders.findOne({status: "2"});
Однако, когда я выполнилзапрос с использованием mongoose (ver: "^ 4.13.14") в моем коде node.js Это работает:
orders.findOne({status: 2})
Итак, хотел бы понять, еслиМангуст ли это преобразование внутренне на основе определенной схемы?Или что-то еще происходит под капотом.