node.js - 猫鼬模式类型和参考?它们是 .populate 方法的关键词吗?还是它们是任意词?
问题描述
我正在尝试使用引用在 Mongoose 中创建数据关联,我想将来自 commentSchema 的 ID 添加到我的 objectScehma 中。我从某个地方复制了这段代码,它可以工作。
我的问题是——注释数组中用于对象的键名: type和ref——这两个词是 mongoose 中的某种类型的键词,由 .populate 方法使用???或者我们可以为这两个键命名吗?我已经在下面复制粘贴了我的代码,任何帮助将不胜感激。
谢谢!!!
var mongoose = require("mongoose");
var objectSchema = new mongoose.Schema({
name: String,
image: String,
description: String,
comments:[
{
type: mongoose.Schema.Types.ObjectId,
ref: "comment"
}
]
});
module.exports = mongoose.model("campground", objectSchema)
解决方案
type和ref - 这两个词是猫鼬中的某种关键字,(...)
对,他们是。在内部,猫鼬在其算法中使用这两个键来设置你的猫鼬模型。您可以在type
此处查看密钥的用法:https ://github.com/Automattic/mongoose/blob/master/lib/schema.js#L358
您可以按照此处记录的方式自由覆盖它:http: //mongoosejs.com/docs/guide.html#typeKey
至于ref
,如果我没记错的话,猫鼬在内部保留了所有模型定义的“缓存”,并使用ref
密钥快速获取其内部列表的模型定义。我可能是错的,所以不要对它持保留态度。
推荐阅读
- android - Android 设备在运行 CTS 后需要 PIN 码
- wpf - 如何在 xaml 中将预定义的 SortDescriptionCollection 设置为 CollectionViewSource
- javascript - 开玩笑的 transformIgnorePatterns 不起作用
- r - 将空间和宽度参数设置为 barplot 以对齐 2x1 绘图窗口
- c# - 如何替换自定义格式字符串?
- assembly - 如何在摩托罗拉 68000 组件中将奇数变为偶数,反之亦然?
- jquery - 如何使用 snap.svg 在循环中同时制作动画?
- virtualhost - 从另一台计算机访问虚拟主机
- codenameone - IncludeNativeBool 代号一
- java - Jersey 2 + Jackson 注释/@JsonIgnore