参见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
类置空?
希望各位能够提供一些建议?
PHP中文网2017-04-17 16:09:58
添加 Stroy 到 Person ($addToSet
去重, $push
)
Person.update({
_id: persionId
}, {
$addToSet : { stories: storyId }
}, function(err, raw)
添加 fans $addToSet
(去重), $push
(不去重)
Story.update({
_id: storyId
}, {
$addToSet : { fans: persionId }
}, function(err, raw)
删除 Person ($pull
)
Person.update({
_id: persionId
}, {
$pull : { stories: storyId }
}, function(err, raw)
删除 fans ($pull
)
Story.update({
_id: storyId
}, {
$pull : { fans: persionId }
}, function(err, raw)