MongoDB に変更されているリレーショナル SQL DB があります。SQL には、関連する 3 つのテーブルがあります: Farm、Division、Wombat (この質問では名前と目的が変更されています)。users テーブルに相当する Farmer テーブルもあります。
Mongoose を使用して、次の新しいスキーマを思いつきました。
var mongoose = require('mongoose');
var farmSchema = new mongoose.Schema({
// reference to the farmer collection's _id key
farmerId: mongoose.Schema.ObjectId,
name: String, // name of farm
division: [{
divisionId: mongoose.Schema.ObjectId,
name: String,
wombats: [{
wombatId: mongoose.Schema.ObjectId,
name: String,
weight: Number
}]
}]
});
(現在) ネストされたコレクションのそれぞれには、一意のフィールドがあります。これにより、重みのみが変更されたときにドキュメント全体を更新するのではなく、Ajax を使用して uniqueId と重み (たとえば) のみを送信してその値を調整できるようになります。
これは、MongoDB に対する不適切な SQL 適応のように感じます。これを行うより良い方法はありますか?