微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – 与猫鼬的一对一关系?

我知道如何使用以下类型的代码在Mongoose实体之间建立一对多的关系:
friends: [{type: ObjectId,ref: 'User'}]

但是如果我想只有一对一的关系怎么办 – 比如这个用户与哪个客户有关?

解决方法

首先,MongoDB中的关系与基于sql的数据存储中的关系之间存在巨大差异(您需要从一开始就明确这一点).

MongoDB中的关系只是相关数据的表示.没有机制可以维护这些关系的完整性.

mongoose对refs的作用就是使用带有ref选项的字段来查询引用集合中文档的_id字段.这用于像populate这样的操作(内部调用目标集合上的findById查询并用文档替换引用的字段).

清除后,您可以在字段中为引用的集合存储一个或多个ID,从而创建一对一或一对多“关系”.

因此,要为引用的集合存储单个ID,语法将为:

client: {type: Mongoose.Schema.Types.ObjectId,ref: 'Client'}  //No arrays,as we want to store a single ID only.

以同样的方式,您可以为引用的集合存储许多ID,如下所示:

friends: [{type: Mongoose.Schema.Types.ObjectId,ref: 'User'}] //The array stores multiple IDs,creating a one-to-many "relationship"

编辑:

确保您在开始时需要Mongoose模块.

var Mongoose = require('mongoose');

原文地址:https://www.jb51.cc/nodejs/241218.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐