如何从猫鼬模式中查询最新文档

时间:2020-04-30 07:46:52

标签: javascript node.js mongoose mongoose-schema

我将猫鼬模式设计为​​

模式

用户架构

{
  first_name: {type: String, required: true},
  last_name: {type: String},
  email: {type: String, required: true, unique: true},
  password: {type: String, required: true},
  isVerified: {type: Boolean, required: false},
  dob: {type: Date},
  from: {
    city: {type: String},
    state: {type: String}
  },
  gender: {type: String},
  phone_no: {type: Number},
  cover_pic: {type: String},
  profile_pic: {type: String},
  about:{type: String},
  social:{
    instagram:{type: String},
    facebook:{type: String},
    youtube:{type: String},
    twitter:{type: String}
  }
},{
  timestamps: true
}

位置架构

Location:{
name : { type: String, required: true },
  address : {
    street: { type: String, required: true },
    area: { type: String, required: true },
    city: { type: String, required: true },
    zip_code: { type: Number, required: true },
    state: { type: String, required: true }
  },
  description : { type: String, required: true },
  lat : { type: Number, required: true },
  long : { type: Number, required: true },
  phone_number : { type: Number, required: true },
  facilities : [{type: String}],
  location_type : { type: String, required: true },
  location_website : { type: String, required: true },
  //Reviews//
  reviews : [{
    rating: { type: Number, required: true },
    review : { type: String, required: true },
    reviewed_by: { type: mongoose.Schema.Types.ObjectId, ref: 'User' ,required: true, }
  }],
  //Post//
  post: [{
    title: { type: String, required: true },
    description: { type: String, required: true },
    location: { type: String, required: true },
    imagesPaths: [String],
    videosPaths: [String],
    creatorId: { type: mongoose.Schema.Types.ObjectId, ref: 'User' ,required: true, }
  }]
}

您会看到我在位置文档中嵌入了“发布和审阅”文档。

要求

User可以通过这种方式为特定的Review添加单个 Post多个 Location将有很多位置。


问题

我想查询 查询 1.来自所有Reviews的最新Post和最新Locations 2.特定用户的评论和帖子

这是根据我的要求创建 schema 的正确方法。还是应该使用引用作为关系,并告诉我如何使用猫鼬执行这两个查询。

0 个答案:

没有答案
相关问题