比如我使用where先查询组,如果组成员是0,就往里面添加成员,确保每个组成员只有一个人,但是会不会有可能发生并发,在我先查找到空组后,另外一个用户同时操作,push进去了,等我再执行update的时候,实际变成了这个组已经有一个成员,加上我push的,最终这个组会有两个成员,这种情况会不会发生呢?怎么解决?
db.collection('group').where({ member: _.size(0) }).update({ data: { member: _.push([OPENID]) } }) |

会。请用原子操作。
另外,限定最多只一个人为什么要用数组?用一个字段不行吗?member改成memberOpenid?
db.collection('group').where({memberOpenid: _.exists(false)}).update({data: {memberOpenid: OPENID}})