gpt4 book ai didi

mongodb - Loopback - 使用来自 MongoDB 的自定义字符串 ID 获取模型

转载 作者:搜寻专家 更新时间:2023-10-30 23:44:33 24 4
gpt4 key购买 nike

我正在开发一个带环回的 API,一切正常,直到我决定更改数据库中文档的 ID。现在我不希望它们自动生成。

现在我要自己设置 Id。每当我到达此端点时,我都会收到“未知 ID”404:GET properties/{id}

如何将自定义 ID 与 loopback 和 mongodb 一起使用?

每当我到达这个端点时:http://localhost:5000/api/properties/20020705171616489678000000我收到此错误:

{
"error": {
"name": "Error",
"status": 404,
"message": "Unknown \"Property\" id \"20020705171616489678000000\".",
"statusCode": 404,
"code": "MODEL_NOT_FOUND"
}
}

这是我的 model.json,以防万一......

{
"name": "Property",
"plural": "properties",
"base": "PersistedModel",
"idInjection": false,
"options": {
"validateUpsert": true
},
"properties": {
"id": {"id": true, "type": "string", "generated": false},
"photos": {
"type": [
"string"
]
},
"propertyType": {
"type": "string",
"required": true
},
"internalId": {
"type": "string",
"required": true
},
"flexCode": {
"type": "string",
"required": true
}

},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}

最佳答案

您的模型设置(使用 idInjection: truefalse)在我尝试使用带有文本 id 字段的 PostGreSQL 数据库设置时确实有效。

使用 DEBUG=loopback:connector:* node 运行 Loopback 应用程序。 输出正在终端中运行的数据库查询 - 我尝试使用您正在尝试的 id 值,参数值为 [2.002070517161649e+25],所以数字的大小是个问题。

您可以尝试将其作为 Loopback 中的错误提出,但 JS 在处理大数字时很糟糕,因此您最好不要使用如此大的数字作为标识符。

如果 ID 是超过 16 个字符的字母数字字符串,它确实有效,因此可能有适合您的解决方法(使用 ObjectId?),具体取决于您要实现的目标。

关于mongodb - Loopback - 使用来自 MongoDB 的自定义字符串 ID 获取模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com