Mongodb 在mongoose中使用数字而不是字符串作为枚举模式是否更好?
就搜索性能而言,在mongoose中使用数字而不是字符串作为枚举模式是否更好 例如,我有:Mongodb 在mongoose中使用数字而不是字符串作为枚举模式是否更好?,mongodb,mongoose,Mongodb,Mongoose,就搜索性能而言,在mongoose中使用数字而不是字符串作为枚举模式是否更好 例如,我有: status: { type: String, enum: ['active', 'inactive', 'disabled', 'deleted'], default: 'inactive' }, //status: { // type: Number, // enum: [0, 1, 2, 3], // default: '1'
status: {
type: String,
enum: ['active', 'inactive', 'disabled', 'deleted'],
default: 'inactive'
},
//status: {
// type: Number,
// enum: [0, 1, 2, 3],
// default: '1'
//},
db.col.find{status:'active'}是否比db.col.find{status:1}慢?Mongodb使用BSONBinary JSON存储文档。 阅读本文了解json和bson Mongodb- 数字、整数和双精度是基本类型 在BSON中,数据以二进制格式存储在Mongo和do中 不要随身携带额外的开销 弦乐会带来一些额外的开销 他们位告诉Mongo它们是字符串,位告诉Mongo 它们有多长 所以数字比字符串快 参考文献
Mongodb使用BSONBinary JSON存储文档。 阅读本文了解json和bson Mongodb- 数字、整数和双精度是基本类型 在BSON中,数据以二进制格式存储在Mongo和do中 不要随身携带额外的开销 弦乐会带来一些额外的开销 他们位告诉Mongo它们是字符串,位告诉Mongo 它们有多长 所以数字比字符串快 参考文献 正如在和类似的问题中一样,从性能的角度来看,当使用索引时,这在很大程度上是可以忽略的,但是数字会快一点。 如果您仍然想使用数字,您可以将虚拟属性添加到模式中,该模式将数字枚举转换为描述性字符串,这样您就可以在某种意义上充分利用这两个世界。与其他类似的问题一样,从性能角度来看,使用索引时,这在很大程度上是可以忽略的,但数字会更快一些。 如果您仍然想使用number,您可以向模式中添加一个虚拟属性,该虚拟属性可以从数字枚举转换为描述性字符串,这样您就可以在某种意义上兼得这两个方面的优点