Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loopbackjs ReferenceError:g未定义环回扩展模型_Loopbackjs - Fatal编程技术网

Loopbackjs ReferenceError:g未定义环回扩展模型

Loopbackjs ReferenceError:g未定义环回扩展模型,loopbackjs,Loopbackjs,我有一个和你几乎相同的问题。创建用户模型时,返回以下错误: ReferenceError:g未定义 在新的ModelConstructor(在createmodelclasscotor(/usr/src/app/node_modules/loopback datasource juggler/lib/model builder.js:671:21)上进行评估,:10:27) 位于user.ModelBaseClass.\u initProperties(/usr/src/app/node\u m

我有一个和你几乎相同的问题。创建
用户
模型时,返回以下错误:

ReferenceError:g未定义
在新的ModelConstructor(在createmodelclasscotor(/usr/src/app/node_modules/loopback datasource juggler/lib/model builder.js:671:21)上进行评估,:10:27)
位于user.ModelBaseClass.\u initProperties(/usr/src/app/node\u modules/loopback datasource juggler/lib/model.js:349:28)
位于user.ModelBaseClass(/usr/src/app/node_modules/loopback datasource juggler/lib/model.js:60:8)
在user.Model(在createModelClassCtor(/usr/src/app/node_modules/loopback datasource juggler/lib/Model builder.js:671:21)处求值,:12:24)
在user.PersistedModel(在createModelClassCtor(/usr/src/app/node_modules/loopback datasource juggler/lib/model builder.js:671:21)处求值,:12:24)
在user.user(在createModelClassCtor(/usr/src/app/node_modules/loopback datasource juggler/lib/model builder.js:671:21)处求值):12:24)
在新用户处(在createModelClassCtor(/usr/src/app/node_modules/loopback datasource juggler/lib/model builder.js:671:21)进行评估),:12:24)
在Function.DataAccessObject.create(/usr/src/app/node_modules/loopback datasource juggler/lib/dao.js:359:13)
at/usr/src/app/node_modules/loopback数据源juggler/lib/dao.js:1262:13
at/usr/src/app/node_modules/loopback datasource juggler/lib/dao.js:2175:62
at/usr/src/app/node_modules/loopback数据源juggler/lib/dao.js:2111:9
at/usr/src/app/node_modules/loopback datasource juggler/node_modules/async/dist/async.js:1012:9
at/usr/src/app/node_modules/loopback datasource juggler/node_modules/async/dist/async.js:359:16
在每一个类似于ArrayLike的(/usr/src/app/node_modules/loopback datasource juggler/node_modules/async/dist/async.js:928:9)
在eachOf(/usr/src/app/node_modules/loopback datasource juggler/node_modules/async/dist/async.js:990:5)
at_asyncMap(/usr/src/app/node_modules/loopback datasource juggler/node_modules/async/dist/async.js:1005:5)
在Object.map(/usr/src/app/node_modules/loopback datasource juggler/node_modules/async/dist/async.js:995:16)
在allCb(/usr/src/app/node_modules/loopback datasource juggler/lib/dao.js:2025:13)
at/usr/src/app/node_modules/loopbackconnector mongodb/lib/mongodb.js:1155:9
结果(/usr/src/app/node_modules/mongodb/lib/utils.js:414:17)
在executeCallback(/usr/src/app/node_modules/mongodb/lib/utils.js:406:9)
在handleCallback(/usr/src/app/node_modules/mongodb/lib/utils.js:128:55)
以下是我的模型:

user.json

accessToken.json

上面的错误(在本例和我之前的问题中)是由于环回无法解析模型的json文件而导致的。在本例中,它是
用户
类型
属性:

"type": {
  "type" : "[string]",
  "required" : true,
  "default" : ["student"]
},
 "id":
    {
      "type": "Integer", <-----  not a loopback type
      "id": 1,
      "mysql":
      {
        "columnName": "id",
        "dataType": "int",
     }
  },

似乎
默认值
不能是数组。删除此默认值并在挂钩中强制执行此默认值解决了问题。

我遇到了一个与您类似的问题。是的,错误堆栈提供的有用信息太少。它应该说:“请坚持使用环回类型”,因为这就是问题所在。你被困住了

在您的情况下,解析器无法处理数组。事实证明,它也不会解析无法识别的类型字符串。例如,如果尝试将属性声明为
整数

"type": {
  "type" : "[string]",
  "required" : true,
  "default" : ["student"]
},
 "id":
    {
      "type": "Integer", <-----  not a loopback type
      "id": 1,
      "mysql":
      {
        "columnName": "id",
        "dataType": "int",
     }
  },

如果您的数据库值类似于json(因此它们应该重新定义为数组和对象),只需将它们声明为对象即可

g是
require('strong-globalize')()
,您是否尝试重新安装所有软件包?您正在使用最新版本的环回,对吗?我们如何在钩子中强制执行此默认值解决了问题?@sifavora inside
Model.observe(“保存前”…)
您可以检查是否设置了
type
。如果未定义,则将其设置为
[“student”]
这不会提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-@我的回答写得很糟糕,我道歉。但是,我想说明的是,这不是数组属性与文本属性之间的问题。如果文本值不在环回的白名单中,也会对其抛出错误。我重写了大部分答案,但如果更多人认为合适,我愿意删除。
 "id":
    {
      "type": "Number",  <----  one of loopback types. Integer is not one of them
      "id": 1,
      "mysql":
      {
        "columnName": "id",
        "dataType": "int",
      }
      "format":"integer" <---- here's where you can format or cast as desired
  },