我有一个正在更改为 MongoDB 的关系 SQL 数据库。在 SQL 中有 3 个相关的表:农场、部门、袋熊(此问题的名称和用途已更改)。还有一个 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 改编。有一个更好的方法吗?