mongoose如何update某属性的ref
参见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
类置空?
希望各位能够提供一些建议?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我理解正确的话,如何处理需要依据应用的需求。
不过,你假设的第二种情形,如果populate正常的话,通常是不会出现的。
供参考。
关注的时候
添加 Stroy 到 Person (
$addToSet
去重,$push
)添加 fans
$addToSet
(去重),$push
(不去重)取消关注
删除 Person (
$pull
)删除 fans (
$pull
)