我正在使用Bookshelf.js
和Knex.js
向我的数据库查询数据,但似乎 ORM 并未返回与我的查询匹配的所有行。我的查询如下:
MyModel.where({id: req.params.id})
.fetchAll({withRelated: ['children.children']})
.then(result => {
res.send(JSON.stringify({myData: result}));
});
这会返回我需要的一些数据,但是在每列中包含相同数据的行时,会有不同的唯一ID。因此,它们是仅包含相同数据的不同条目。我需要此函数来返回所有行,而不是过滤掉其中包含相同数据的任何行。
现在我明白,最好避免重复数据,但我需要为我的特定用例提供全部数据。是否有Bookshelf.js
或Knex.js
可以返回所有行的方式,而不是过滤掉“认为”是重复数据的内容。
答案 0 :(得分:0)
Knex / bookshelf不会过滤掉“它认为”重复的任何数据。如果您要查询id = req.params.id
knex将返回请求id
的所有行的所有行。
尝试使用DEBUG=knex:*
环境变量运行代码,以查看书架发送给DB的查询。如果查询似乎有误,请将其添加到问题中。如果结果似乎是错误的,请检查数据库内容并将该信息添加到问题中。