gpt4 book ai didi

postgresql - 环回 postgresql 仅获取 "id"字段

转载 作者:行者123 更新时间:2023-11-29 13:59:25 26 4
gpt4 key购买 nike

我尝试使用环回和远程 postgresql 数据库创建一个项目。表格已满,我在 pgAdmin 中看到了。

我有这个代码:

/models/language.js

var loopback = require('loopback'),
app = require('../app');


loopback.createModel('languages', {
id: Number,
des_id: Number,
iso: String,
codepage: String
})


app.model('languages', { dataSource: 'pg' });

(我不同意使用一个文件来存储所有模型定义的概念。但我同意 LDL 很酷!^_^)

“loopback-explorer”成功显示了我的 REST 新模型。但是当我尝试获取某些内容时,它只选择“id”字段。

[ { id: 1 },
{ id: 4 },
{ id: 6 },
{ id: 7 },
{ id: 8 },
{ id: 9 },
...
]

它计算正确数量的实体。

此代码没有查找效果:

app.models.languages.find({
where: {'des_id': 14360}},
function(err, langs) {
console.log(langs)
});

我得到的数据量与之前的输出相同。

我试过了

app.models.languages.find({
fields: {id: false}
},
function(err, langs) {
console.log(langs)
});

同样的效果。

我尝试创建没有属性定义的模型:

loopback.createModel('languages', {})

同样的效果。

但是

app.datasources.pg.discoverModelProperties('languages', function(err, props) {
console.log(props);
})

显示正确的方案

我哪里错了?

最佳答案

通过这段代码:

loopback.createModel('languages', {
...
})

我创建了一些未在任何地方使用的对象(模型定义?)。此外,创建者是一个基“类”loopback 而不是实例化应用程序 app。这段代码:

app.model('languages', { dataSource: 'pg' });

创建了在 app.models 中可用但没有任何架构定义的新模型。这就是为什么我只有 id-s 而没有其他字段的原因。

正确的方法:

var loopback = require('loopback'),
app = require('../app');

var Langs = app.datasources.pg.createModel('languages', {
...
})

app.model(Langs);

关于postgresql - 环回 postgresql 仅获取 "id"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268639/

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