在 find 方法中传递数组对象(TypeORM)
Passing array object in find Method (TypeORM)
我正在将 API 从猫鼬迁移到 TypeORM。我有一个数组(conversationIds),其中包含要从数据库中搜索的 ID 列表,它应该 return 我可用的 ID。以下是我试过的查询。
const conversationMessagesWithDuplicates = await consversationRepository.createQueryBuilder("conversation").where("conversation.channel_message_ID = :channel_message_ID",{channel_message_ID : conversationIds}).getMany();
还有这个
const conversationMessagesWithDuplicates = await consversationRepository.find({channel_message_ID: conversationIds});
但我遇到以下问题:
(node:11548) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): QueryFailedError: Error: Incorrect syntax near ','.
我也尝试过使用 entity Manger 但没有成功
const conversationMessagesWithDuplicates = await entityManager.query(`SELECT channel_message_ID FROM Conversation where channel_message_ID IN (conversationIds)`);
下面是运行良好的 MoongoseAPI:
Conversation.find( { channel_message_ID: { $in: conversationMessageIdArray } } ).exec(function(err, conversationMessagesDuplicatesArray) {}
这就是解决方案
const conversationMessagesWithDuplicates = await consversationRepository.createQueryBuilder("conversation").where("conversation.channel_message_ID IN (:conversationIds)", { conversationIds: conversationIds }).getMany();
我正在将 API 从猫鼬迁移到 TypeORM。我有一个数组(conversationIds),其中包含要从数据库中搜索的 ID 列表,它应该 return 我可用的 ID。以下是我试过的查询。
const conversationMessagesWithDuplicates = await consversationRepository.createQueryBuilder("conversation").where("conversation.channel_message_ID = :channel_message_ID",{channel_message_ID : conversationIds}).getMany();
还有这个
const conversationMessagesWithDuplicates = await consversationRepository.find({channel_message_ID: conversationIds});
但我遇到以下问题:
(node:11548) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): QueryFailedError: Error: Incorrect syntax near ','.
我也尝试过使用 entity Manger 但没有成功
const conversationMessagesWithDuplicates = await entityManager.query(`SELECT channel_message_ID FROM Conversation where channel_message_ID IN (conversationIds)`);
下面是运行良好的 MoongoseAPI:
Conversation.find( { channel_message_ID: { $in: conversationMessageIdArray } } ).exec(function(err, conversationMessagesDuplicatesArray) {}
这就是解决方案
const conversationMessagesWithDuplicates = await consversationRepository.createQueryBuilder("conversation").where("conversation.channel_message_ID IN (:conversationIds)", { conversationIds: conversationIds }).getMany();