sql >> Base de Datos >  >> NoSQL >> MongoDB

Esquema y subdocs en mongoose.js

Tal vez los discriminators podría ser una mejor opción para su caso.

Códigos de muestra como se muestra a continuación

var options = {discriminatorKey: 'contents'};
const postSchema = new mongoose.Schema({
  published: Date,
  summary: String,
  type: String,
}, options);
var Post = mongoose.model('Post', postSchema);

const tweetSchema = new mongoose.Schema({
  tweetUrl: {type: string, trim: true}
  length: Number
}, options);
var Tweet = Post.discriminator('Tweet', tweetSchema);

const blogSchema = new mongoose.Schema({
  title: String,
  edits: [Date],
  slug: { type: String, trim: true},
  body: String
}, options);
var Blog = Post.discriminator('Blog', blogSchema );