我有一个schema:
这个schema有一个sub doc 叫address,插入address数据之后,address会自己有一个对应的_id.
我的问题是,每次查询这个address的时候,是否需要首先找到这个account,然后遍历account的address,或者可以直接通过address的_id来找到对应的address?
var AccountSchema = new mongoose.Schema({
email: { type: String, unique: true },
password: { type: String},
phone: { type: String},
name: {type: String},
address: {type: [{
name: { type: String},
phone: { type: String},
type: { type: String},
addr: { type: String}
}]},
});
まず、
subDoc
の定義の理解が間違っています。subDoc
も別のSchema
->Model である必要があります。 code> によって生成されたインスタンスには、簡単に言えば、サブドキュメントのSchema
subDoc
的定义就错了,subDoc
应该也是一个由单独的Schema
->Model
生成的实例, 简单来说, 就是得有一个子文档的Schema
另外多说一句, 如果你没有
自定义的 SchemaTypes
的话, 原来的写法就是错的. 而且就算定义了, 属性type
也不可以指向一个对象因为 mongoose 默认的合法
リーリーSchemaTypes
就String, Number, Array, ObjectId, Mixed...
が必要です。 リーリー もう 1 つ、custom SchemaTypes
がない場合は、元の記述方法が間違っています。また、たとえそれが定義されていたとしても、属性type
はオブジェクトを指すことができません。mongoose
はデフォルトで合法であるSchemaTypes
🎜 だけString、Number、Array、ObjectId、Mixed...
🎜 非常に多く、さらに、カスタム Type を定義しない場合、type 属性の後の他の値はエラーを報告します。🎜 🎜サブドキュメントを定義したくない場合は、次のようにすることができます:🎜 リーリー