 
                        参见mongoose
两集合schema如下:
var personSchema = Schema({
  _id     : Number,
  name    : String,
  age     : Number,
  stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
  _creator : { type: Number, ref: 'Person' },
  title    : String,
  fans     : [{ type: Number, ref: 'Person' }]
});当fans中的一个person取消了对story的喜好(fans的理解不知道对不对)
那么story.fans是数组,可以delete掉该person的数据
这个感觉还比较容易update
如果一个person的story不正确,同时story集合中并不存在该person的正确story;
那么是remove该person的field:stories吗?
还是能够将该person的field:stories这个ObjectId类置空?
希望各位能够提供一些建议?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果我理解正确的话,如何处理需要依据应用的需求。
不过,你假设的第二种情形,如果populate正常的话,通常是不会出现的。
供参考。
关注的时候
添加 Stroy 到 Person (
$addToSet去重,$push)添加 fans
$addToSet(去重),$push(不去重)取消关注
删除 Person (
$pull)删除 fans (
$pull)