Using the IN clause in a prepared statement with a single variable in TypeORM

I have a SQL file that contains a query like this:

SELECT * WHERE id IN ($1)

The SQL query is read and passed into a TypeORM query with an array of parameters.

const result = await this.entityManager.query(myQuery, parameters);

I want the parameters to be an array with only one value that combines all the IDs I want to search for as a single string. This way, I can use my SQL file regardless of how many IDs I need to filter by.

I've attempted to format the parameters in a way that keeps only $1 irrespective of the number of items in my array:

const ids = ['1', '2', '3'];

const parameters = [ids.join(",")];

or

const parameters = ["'" + ids.join(",") + "'"];

and so on

Unfortunately, I haven't found a syntax that successfully achieves this. Is there a way to make this work?

Answer №1

I modified the original query by replacing IN ($1) with = ANY($1) and now I am passing the ids as an array. This adjustment is producing the desired outcome.

SELECT * WHERE id = ANY($1);
const ids = ['1', '2', '3'];
const result = await this.entityManager.query(myQuery, [ids]);

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

The tables that are currently present in the database are not displayed by Microsoft Azure Mobile Service

_I am currently developing an Android app using Microsoft Azure Mobile Services. However, I am facing an issue where the app is not displaying all the existing tables in the database. It only shows tables that have been created within the mobile service it ...

Ways to extract a return from an Observable

Do you know how to retrieve the _value from the following code snippet: Here is the function I am referring to: jobsLength(){ const jobslength:any; jobslength=this.searchLogic.items$ console.log(jobslength) }; ...

Enriching SpriteWithDynamicBody with Phaser3 and Typescript

Is there a way to create a custom class hero that extends from SpriteWithDynamicBody? I'm unable to do so because SpriteWithDynamicBody is only defined as a type, and we can't extend from a type in Typescript. I can only extend from Sprite, but ...

Determining the parent type in Typescript by inferring it from a nested member

Typescript has the ability to infer the type of a value based on queries made within if statements. For instance, the type of one member of an object can be deduced based on another: type ChildType = 'a' | 'b'; type Child<T extends ...

Tips for transforming a string into a variable within an Angular framework

I'm working with a JSON object retrieved from an API let arr = [{"name": 'abc',"age": '23'},{"name": 'qwe',"age": '37'},{"name": 'wqewqe',"age&quo ...

Encountering difficulty using a template file as a component template within the Liferay angular portlet

Encountering trouble using a template file as a template for the component in my Liferay angular portlet. It works fine with a regular Angular application. app.component.ts import { Component } from '@angular/core'; @Component({ templateUr ...

Issue with Angular authentication during login attempt

I am a beginner in Angular and I'm using this method to allow users to log into the system. loginuser(){ const user = { username: this.username, password: this.password }; this.Auth.loginUser(user).subscribe((res)=>{ ...

Retrieving the top x records by date and a particular id using a Postgresql SELECT statement

Here is a table representation: +----+--------+--------+-----------+----------------------------+ | id | type | amount | dealer_id | date | +----+--------+--------+-----------+----------------------------+ | 12 | sub_s | 29.00 | ...

The mysterious appearance of the <v-*> custom element in Vuetify Jest

Currently, I am in the process of writing unit tests for my project using Jest. The project itself is built on Vue, Vuetify (1.5), TypeScript, and vue-property-decorator. One particular area of focus for me has been creating a basic wrapper for the <v- ...

Displaying search results in various Angular components

On my home page (homePageComponent), I have a search feature. When the user clicks on the search button, they are redirected to a different page called the search list page (searchListComponent). Within the searchListComponent, there is another component c ...

Encase a function with an observable

In my bd service, there is a method called consultaPublicacoes that retrieves all publications from the Firebase database for a specific user email. bd.service public consultaPublicacoes(email:string):Observable<any>{ return this.checkarPu ...

Creating a Blob or ArrayBuffer in Ionic 2 and Cordova: Step-by-Step Guide

Is there a way to generate a blob or an arrayBuffer with TypeScript when using the Camera.getPicture(options) method? I am currently working on an Ionic 2/Cordova project. var options = { quality: 90, destinationType: Camera.DestinationType.FILE_ ...

The ReferenceError occurs exclusively during the execution of tests

I keep encountering a dull stacktrace after executing my test. I've experimented with solutions like using fakeTimers, require('iconv-lite')..., etc, based on these queries: Encoding not recognized in jest.js ReferenceError: You are trying ...

To dismiss a popup on a map, simply click on any area outside the map

Whenever I interact with a map similar to Google Maps by clicking on various points, a dynamically generated popup appears. However, I am facing an issue where I want to close this popup when clicking outside the map area. Currently, the code I have writte ...

Tips for implementing the handleChange event with CalendarComponent from the PrimeReact library

Hey there! I'm currently working with the CalendarComponent from the PrimeReact library in my app. I want to update the type of event being typed in the handleChange function instead of leaving it as :any. Can anyone provide some suggestions on what s ...

The Conundrum of Angular 5 Circular Dependencies

I've been working on a project that involves circular dependencies between its models. After reading through this StackOverflow post and its suggested solutions, I realized that my scenario might not fit into the category of mixed concerns often assoc ...

What is the functionality of ngModel in the Angular Heroes Tour tutorial?

Hello everyone, this is my first post here. I have been diving into the Angular Tour of Heroes using Angular 6 and I think I understand how ngModel works, but there's one thing that puzzles me. How does it manage to update the data in my list when th ...

What is the method for including word boundaries in a regex constructor?

export enum TOKENS { CLASS = 1, METHOD, FUNCTION, CONSTRUCTOR, INT, BOOLEAN, CHAR, VOID, VAR, STATIC, FIELD, LET, DO, IF, ELSE, WHILE, RETURN, TRUE, FALSE, NULL, THIS } setTokenPatterns() { let tokenString: s ...

Is it possible to create two subclasses where the methods return the types of each other?

I am faced with a situation where I have two classes that rely on each other's methods: class City { (...) mayor(): Person { return this.people[0]; } } class Person { (...) birthCity(): City { return this.cities.birth; } } ...

Leverage the power of Typescript to flatten a JSON model with the help of Class

Currently, I'm exploring how to utilize the class transformer in TypeScript within a Node.js environment. You can find more information about it here: https://github.com/typestack/class-transformer My goal is to flatten a JSON structure using just on ...