【发布时间】:2021-05-28 03:32:47
【问题描述】:
我是 MongoDB 引用的新手。现在我有一个集合,我称之为users。它存储所有用户及其密钥。我有另一个集合,其中包含每个键的数据。
我只想使用他们的密钥作为 ID 来连接他们。因此,我将生成每个键,并且 keyData 在第一次创建时将为空,然后我将继续将对象添加到 keyData 数组中。这是我的计划,但我不知道如何创建与架构的关系。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
//Create Schema
const userKey = new Schema({
_id : {
type : String,
required: true
},
key: {
type : String,
required: true
},
keyData: [key],
date: {
type: Date,
default: Date.now
}
});
module.exports = Key = mongoose.model('key', userKey);
这不起作用,因为在初始化之前我无法访问密钥。那么如何关联这两个集合呢?
【问题讨论】:
-
您需要两个单独的模式示例
userModel和keyModel来分别管理users和keys集合并像这里显示的那样链接它:mongoosejs.com/docs/populate.html -
我仍然对如何做这些感到很困惑。它如何知道要使用哪个 id?
-
您将关键详细信息存储在哪个集合中?根据您的问题,您有一个存储用户详细信息的集合。
-
我有两个架构,我在代码中显示的一个是保存所有用户密钥的那个。
-
我想我现在明白你的问题了。你想在插入
data集合后自动将对象添加到keyData数组中吗?如果是这样,请阅读有关 mongoose post hooks 的信息:mongoosejs.com/docs/middleware.html#post