栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

猫鼬:强制转换为ObjectId的值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

猫鼬:强制转换为ObjectId的值

您引用的猫鼬文档中的示例

Number
用于该
personSchema._id
字段以及
ObjectId
其他字段。

我假设他们在示例中这样做是为了证明可以使用其中任何一个。如果未

_id
在架构中指定,
ObjectId
将为默认值。

在这里,您的所有记录都有一个

_id
字段,它是
ObjectId
,但是您将它们视为数字。此外,除非您省略了定义它们的部分,否则诸如
personID
taskID
不存在字段。

如果确实要对所有

_id
字段都使用数字,则必须在模式中进行定义。

var newsSchema = new Schema({  _id: Number,  _creator: {type: ObjectId, ref: "Person"},  // ...})var personSchema = new Schema({  _id: Number,  // ...})

然后创建具有特定ID的新闻项,并将其分配给创建者:

var tony = new Person({_id: 0});var newsItem = new NewsItem({_id: 0, creator: tony.id});

然而,需要注意的一点是这里,当你使用其他的东西比

ObjectId
_id
领域,你承担自己管理这些价值的责任。ObjectId是自动生成的,不需要额外的管理。

编辑:我还注意到您在关联的两侧都存储了引用。这是完全有效的,您有时可能想要这样做,但是请注意,您必须自己将引用存储在

pre
钩子中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号