【问题标题】:Linking two collections from mongoDB with vue.js使用 vue.js 链接来自 mongoDB 的两个集合
【发布时间】:2020-07-31 22:47:46
【问题描述】:

您好,我是使用 vue 和 mongodb 的新手。我创建了两个集合,一个用于用户详细信息,另一个用于业务详细信息。表格上的业务注册然后存储在 mongodb 中。对于用户,我创建了一个表单,但我希望业务集合中的业务名称显示在表单上,​​以便用户可以选择它。我不确定如何链接两个集合?

Front End Form

Booking Model Back End

Organisation Model Back End

【问题讨论】:

  • 提供更多信息,例如代码示例,您为 mongodb 使用什么包?是猫鼬吗?

标签: javascript node.js mongodb vue.js npm


【解决方案1】:

如果您使用的是 MONGOOSE,您可以使用 ref 进行操作

var mongoose = require('mongoose')
  , Schema = mongoose.Schema

var businessSchema = Schema({
    name : String,
});

var userSchema = Schema({
    businessDetails: { type: Schema.Types.ObjectId, ref: 'Business' },
    gender: {type: String, enum: ["Male", "Female"]},
    city: String
});

var User = mongoose.model('User', eventSchema);
var Business = mongoose.model('Business', personSchema);

function getUserDetails (callback) {
   User.find().populate({'businessDetails'}).callback()
} 

在这里你会得到类似的数据

[
   {
      businessDetails: {
                            name: "Harshal",
                            gender: "Male",
                            city: "Pune"
                        }
   }
]

现在您可以根据需要在 UI 上显示。

【讨论】:

  • 在我的预订表单中,我也尝试显示存储在我的 mongodb 集合之一中的组织名称,而不是对组织名称进行硬编码。但预订表单也将存储在 mongodb 中。
猜你喜欢
  • 2016-12-13
  • 2013-04-26
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
相关资源
最近更新 更多