为模型添加新属性postCount

更新schema

打开user.js文件:

const UserSchema = new Schema({
                              name: String,
                              postCount: Number
});

让每个用户的postCount属性++

打开update_test.js文件:

  • 初始化为0
joe = new User({name : 'Joe', postCount : 0});
  • 下载数据更新后上传


    为模型添加新属性postCount_第1张图片
    数据下载上传的方案

    但是实际情况中,我们要尽量避免服务器直接下载大批数据。


mongo更新操作

为模型添加新属性postCount_第2张图片
更好的方案
  • 为了达到以上情况的操作,mongoDB提供了一系列的更新操作:
{ $inc: { : , : , ... } }
例:
XXX.update({条件},{$ inc: {属性 : 偏移量}});

所以我们可以使用更新操作语句来完成这个操作:

it('A user can have their postCount incremented by 1', (done) => {
            User.update(
                        {name : 'Joe'},
                        {$inc :{postCount : 1}}
            )
            .then(() => User.findOne({name : 'Joe'}))
            .then((user) => {
                  assert(user.postCount === 1);
                  done();
            });
});

你可能感兴趣的:(为模型添加新属性postCount)