検索

ホームページ  >  に質問  >  本文

node.js - 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

如果一个personstory不正确,同时story集合中并不存在该person的正确story
那么是removepersonfield:stories吗?
还是能够将该personfield:stories这个ObjectId类置空?

希望各位能够提供一些建议?

阿神阿神2848日前838

全員に返信(2)返信します

  • 怪我咯

    怪我咯2017-04-17 16:09:58

    私の理解が正しければ、これを処理する方法はアプリケーションの要件に基づく必要があります。

    ただし、人口が正常であれば、あなたが想定する 2 番目の状況は通常は発生しません。

    ご参考までに。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 16:09:58

    注意する場合

    Stroy を人物に追加 ($addToSet重複を削除、$push)

    リーリー

    ファンを追加 $addToSet(重複を削除)、$push(重複を削除しない)

    リーリー

    フォローを解除

    個人を削除 ($pull)

    リーリー

    ファンを削除 ($pull)

    リーリー

    返事
    0
  • キャンセル返事