Hey, I think you have to use “where” and the db.query api. This should work:
const result = await strapi.db.query(‘api::bookshelf.bookshelf’).findOne({
where: {user: {id: id}},
});
You can find the docs on query engine api here: Query Engine API | Strapi Documentation
(Tbh I can agree that the difference between using the query engine api or the service api is not very clear, I faced the same issue).