MongoDB には次のようなデータがあります。
{
name: "Steve",
location: {
city: "Nowhere, IL",
country: "The United States of Awesome"
}
}
オブジェクトを使用して共通のデータ構造 (場所など) を整理していますが、これは Mongoose ではスキーマに適切にマッピングされる可能性があります。残念ながら、Mongoose では実際には機能しないようです。
次のように、オブジェクトを埋め込むだけの場合:
{
name: String,
location: {
city: String,
country: String
}
}
動作しているように見えますが、問題を引き起こす奇妙な動作を示します (たとえばinstance.location.location
、location
return 、およびサブオブジェクトが親スキーマからメソッドを継承します)。Mongoose リストでスレッドを開始しましたが、何のアクションも見られません。
次のようにスキーマを埋め込む場合:
{
name: String,
location: new Schema({
city: String,
country: String
})
}
…アプリケーションが起動しません ( Schema
Mongoose でサポートされているタイプではありません)。同上
{
name: String,
location: Object
}
…とにかく、これは理想的ではありません。
何か不足していますか、それともスキーマが Mongoose と一致していませんか?