在 MongoDB 生产中,如果某个键的值为空或未提供(可选),我应该使用空字符串值还是应该使用 null 作为值。
1)使用空字符串与空字符串之间有什么优缺点吗?
2)如果我将值设置为 undefined 以从现有文档中删除属性,与让属性值设置为空字符串或 null 相比,有什么优缺点吗?
Thanks
我认为最好的方法是未定义的,因为我建议完全不包括这个键。 Mongo 不像 SQL 那样工作,在 SQL 中,每一列都必须至少有 null。如果你没有价值,就不要包含密钥。然后,如果您查询所有文档,如果该键不存在,则它将正常工作,否则将无法正常工作。另外,如果您不使用密钥,则可以节省一点磁盘空间。在 Mongo 中这样做是正确的方法。
function deleteEmpty (v) {
if(v==null){
return undefined;
}
return v;
}
var UserSchema = new Schema({
email: { type: String, set: deleteEmpty }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)