Возможно, я не совсем понимаю, как работают хеш / первичные ключи в DynamoDB, но я пытаюсь создать модель (используя Serverless + Dynogels / NodeJS) для службы сообщений.
Модель выглядит следующим образом:
const ConversationORM = dynogels.define('Conversation', {
hashKey: 'id',
timestamps: true,
tableName: config.CONVERSATION_TABLE,
schema: {
id: Joi.string(),
users: Joi.array(), // e.g. ['foo', 'bar', 'moo']
messages: Joi.array()
}
})
Как видите, users
- это массив, в котором перечислены идентификаторы участников разговора.
Мне нужно создать сервис, который находит всеразговоры, в которых участвует пользователь. В MongoDB (с которым я гораздо больше знаком) я бы сделал что-то вроде:
Conversation.find({users: {"$in": ['foo']} }).then(....
Есть ли что-то подобное, что я могу сделать в DynamoDB?Это вызов API, который будет происходить довольно часто, поэтому я надеюсь сделать его максимально эффективным.