首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoose架构安全字段

Mongoose架构安全字段
EN

Stack Overflow用户
提问于 2012-11-26 04:29:30
回答 4查看 4.4K关注 0票数 10

简明扼要:有没有什么方法可以防止设置schema字段但允许获取值?

我一直在找Mongoose Documentation,但是找不到我要找的东西。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-26 22:33:13

将该字段定义为virtual getter,而不是传统字段。

例如,假设您希望在通过Mongoose访问时将集合的pop字段设置为只读:

代码语言:javascript
复制
var schema = new Schema({
    city: String,
    state: String
});

schema.virtual('pop').get(function() {
    return this._doc.pop;
});

通过访问模型实例的私有_doc成员,这可能会在将来中断,但在我刚刚测试它时,它工作得很好。

票数 3
EN

Stack Overflow用户

发布于 2015-04-03 04:38:33

如果您想要设置一个永远不能更改的默认值,则可以选择:

代码语言:javascript
复制
var schema = new Schema({
  securedField: {
    type: String,
    default: 'Forever',
    set: function (val) { return this.securedField; }
});
票数 16
EN

Stack Overflow用户

发布于 2019-12-10 12:34:25

从Mongoos5.6开始,你可以这样做:immutable: true

代码语言:javascript
复制
var schema = new Schema({
  securedField: {
    type: String,
    default: 'Forever',
    immutable: true
  }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13555180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档