私のAPIをParse.comから自分のExpress.jsコードに移行中です。私は構文解析によって作成されたデータベースと一致するように私のmongooseモデルを作成しましたが、私はポインタ(関係)に関する問題に走っています。ここでフィールドの部分文字列にpopulateを使用してMongooseを使用する
は、だからここに(可能な限り簡素化)二つのモデル
const CustomerSchema = new mongoose.Schema({
_id : { type: String, required: true, default:() => randomstring.generate(10) },
name : { type: String, required: true, trim: true },
_p_group : { type: String, required: true, trim: true, set: v => `Group\$${v}`, get: v => v.substr(6) },
});
const GroupSchema = new mongoose.Schema({
_id : { type: String, required: true, default:() => randomstring.generate(10) },
name : { type: String, required: true, trim: true },
});
ある問題である:_p_group
はGroup
への「ポインタ」ですが、パースは、それにIDを格納しません、代わりに、店舗Group$THE_ID
たとえば、お客様がID:ndj879gLjt
のグループに所属している場合、_p_group
にはGroup$ndj879gLjt
が含まれます。
どのように関係を処理できますか?顧客とそのグループを返却するにはどうすればよいですか?通常の方法は、_p_group
のオプションにref: "Group"
を追加し、Customer.find({}).populate('_p_group')
を実行することですが、明白な理由からここでは機能しません。
parseはmongodbを使用していますが(マングースではありません)、なんでかの方法が必要です。また、ソリューションはParseと互換性がなければなりません。最悪の場合、私はまだidを含む新しいフィールド_customer
を作成することができますが、それは私が20Goのデータを更新するようにします。これは本当に私が望むものではありません。
で動作するはずだと思いますか?それがパースが説明する方法ではない場合、それ以外の場合は有効な答えです。それは "すてきで清潔な"答えではありませんが、それは現在Parseで現在作業している方法であり、人々は知りたいと思うかもしれないし、同じことをしたいかもしれません。 – Melvin