MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Documento incorporado sem Array?


Você não pode incorporar esquemas dessa maneira, com o raciocínio de que esses documentos filho seriam confundidos com documentos completos, veja este tópico de bug, onde está declarado:

a razão pela qual não adicionamos esse suporte no passado é b/c, isso nos deixa imaginando se todos os pré-ganchos serão executados da mesma maneira para o documento pseudo-filho, além de implicar que podemos chamar save() em aquela criança.

A resposta aqui é compartilhar não o esquema, mas apenas a definição.
var userdef = { name: String };
var UserSchema = new Schema(userdef);
var BlogPostSchema = new Schema({author: userdef});

Isso resultaria em um objeto de usuário aninhado, sem realmente aninhar o Schema.