postgresql - 如何使用柴油进行 IN 查询?
问题描述
我想使用 PostgreSQL 13 对柴油IN
进行查询,以从某些 id 集合中的歌曲表中选择歌曲集合。数据库执行的 SQL 可能如下所示:
select * from songs where id in(1,2,3)
我试图用这样的生锈柴油方式做的事情:
pub fn songs(ids: Vec<i64>){
use schema::songs::dsl::*;
let connection = config::establish_connection();
let results = songs.filter(id.contains(ids))
.load::<QuerySongs>(&connection)
.expect("Error loading posts");
}
似乎没有用,当我使用cargo build
显示如下错误编译项目代码时:
error[E0599]: the method `contains` exists for struct `songs::schema::songs::columns::id`, but its trait bounds were not satisfied
--> src/biz/music/songs.rs:37:35
|
37 | let results = songs.filter(id.contains(ids))
| ^^^^^^^^ method cannot be called on `songs::schema::songs::columns::id` due to unsatisfied trait bounds
我阅读了文档和源代码演示,但它很短,并没有提到如何通过集合中的 id 执行查询。我应该怎么做才能在 rustdies( diesel = { version = "1.4.4", features = ["postgres"] }
) 中进行 IN 查询?这是一个最小的可重现演示。
解决方案
推荐阅读
- google-fabric - Fabric 中是否有任何事件端点?
- c++ - 当类的对象更改其参数时如何获取结果
- open-liberty - 从签出的源代码启动和调试开放的自由服务器
- android - DataBinding不显示textview的默认值
- javascript - 有没有办法添加条件来显示/隐藏按钮以在 React 的不同组件中使用?
- ios - 动画 UIImageView 从圆角右上角开始并以矩形结束
- database - Mongodb不使用对象数组的索引
- sql - CHARINDEX - 从 nvarchar 中挑选日期
- html - minmax 行为,灵活的 CSS 网格
- python - 如何计算MongoDB中数组中的对象?