mongoose,填充V.S另一个查询

时间:2017-08-26 07:34:15

标签: mongodb mongoose

我的情况是:

我有postSchemacommentSchema,就像这样:

const postSchema = new Schema({
  comments: [
    {
      type: Schema.Types.ObjectId,
      ref: 'Comment'
    }
  ]
}

const commentSchema = new Schema({
  post: {
    type: Schema.Types.ObjectId,
    ref: 'Post'
  }
}

如果我知道post._id,我想查询post文档和comment文档。

我认为有两种方式:

  1. popluatePost.findById(post._id).populate('Comment').exec()

  2. 开始另一个查询:

  3. Post.findById(post._id).exec()

    Comment.find({post: new Types.ObjectId(post._id)}).exec()

    那么哪个更好?或者,何时使用populate以及何时开始另一个查询?

0 个答案:

没有答案