首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LoopBack关系

LoopBack关系
EN

Stack Overflow用户
提问于 2016-11-23 03:06:14
回答 2查看 1.2K关注 0票数 1

这是我第一次处理NoSQL形式的数据库,我对面向文档的数据库中的“关系”有点困惑。我使用的是LoopBack & AngularJS。

我有一个has many page as it's children的模型(即菜单项和子菜单)。

page模型如下:

代码语言:javascript
运行
复制
"properties": {
 "name": {
   "type": "string",
   "required": true
 },
 "slug": {
   "type": "string"
 },
 "link": {
   "type": "string"
 },
 "createdAt": {
   "type": "date",
   "required": true
 },
 "children": {
   "type": [
     "object"
   ]
 }
},

使用

代码语言:javascript
运行
复制
"relations": {
 "children": {
   "type": "hasMany",
   "model": "page",
   "foreignKey": "parentId"
 }
},

我的困惑是,每当我对LoopBack应用程序接口执行explore操作,然后对parent页面执行get操作时,我都看不到填充的children属性。但是,执行一个get来查看父级的孩子(使用父级的id)结果很好--我可以看到用它的父级填充的parentId

我的问题是,在处理NoSQL/面向文档的数据库时,这是正常的,还是我做错了什么?

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2016-11-27 00:56:54

我相信你可能错过了这段关系的另一个方向。

您可以在子项中执行belongsTo relation,以指定它属于父项。

这应该能让你在浏览器中看到两个方向的方法。

此外,foreingKey parentId应该设置在子对象上,而不是父对象上。例如,在父relations定义上保留foreignKey为空,而在children关系定义上使用它。

因此,一方面,在模型中,您将在关系字段中拥有:

代码语言:javascript
运行
复制
 "children": {
   "type": "hasMany",
   "model": "page",
   "foreignKey": ""
 },

而且还

代码语言:javascript
运行
复制
"parent": {
    "type": "belongsTo",
    "model": "page",
    "foreignKey": "parentId"
 },

再加上你的任何其他关系。

我已经对此进行了测试,它是有效的,尽管我对关系使用了两个不同的模型,而不是只使用一个模型。

即,我使用

ModelA hasMany ModelBModelB belongsTo ModelA

而不是

ModelA hasMany ModelAModelA belongsTo ModelA

票数 1
EN

Stack Overflow用户

发布于 2016-11-23 03:22:50

在mongoose中,当您想要填充页面的“子元素”时,您需要使用以下命令明确地请求它:

代码语言:javascript
运行
复制
Pages.find({})
  .populate('children')
  .exec(function(err, pages){
     //..
  })

在LoopBack的页面(http://loopback.io/doc/en/lb2/Querying-related-models.html)上有一个类似的叫做"include“的东西,你应该试着这样做:

代码语言:javascript
运行
复制
Page.find({include:'children'}, function() {
  //...
});

如果有效,请让我知道!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40749760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档