Какова оптимальная схема для масштабируемого приложения, использующего mongodb в качестве базы данных? - PullRequest
0 голосов
/ 14 июня 2019

Я создаю новое приложение, требующее пользователя, которое имеет много ферм и у этой фермы много устройств, а у этого устройства много параметров. Пользователь должен иметь возможность видеть все устройства в ферме, а при щелчке устройства должен отображаться список всех параметров.

Я использовал mongodb в качестве базы данных, и я использую mongoose для создания пользователя через API в Express Framework. Мой текущий подход - сначала создать пользователя, а затем отредактировать поле фермы, но я не могу этого сделать.

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

//Device Schema
const Device = new Schema({

  modelNumber: {
    type: String,
    required: true
  },
  deviceType: {
    type: String,
    required: true
  },
  description:{
      type:String,
      required:false   
  },

  deviceLocation:[ 
    {
      latitude:Number,
      longitude:Number
    }
  ],

  AddedDate: {
    type: Date,
    default: Date.now
  },

});

// User Schema
const UserSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
  },
  password: {
    type: String,
    required: true
  },
  location:{
      type:String,
      required:true
  },
  createdDate: {
    type: Date,
    default: Date.now
  },
  farm:[
      {
        _id:mongoose.Schema.Types.ObjectId,
        description:String,
        farmAddDate:{type:Date,default:Date.now},
        device:[{
                Device
        }]
     }
 ]   

});


module.exports = User = mongoose.model("users", UserSchema);

Я ожидаю, что API должен сохранять данные фермы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...