Что бы я сделал, это иметь два отдельных хранилища объектов внутри вашей базы данных, один из которых представляет teachers
и тот, который представляет students
.
Тогда я бы хранить teacher
объект как:
{
name: 'John Smith',
subject: 'Maths',
students: [1,2,3,4,5]
}
Тогда я должен был бы магазин для students
как:
{
id: 1,
name: 'Jane Doe'
}
Я бы тогда иметь id
ключевой путь в обоих (автогенерируется или нет, в зависимости от того, синхронизируется ли она где-то), поэтому у вас есть уникальный идентификатор данных.
Наконец, вы можете создать index
на students
собственности учителя и установить multiEntry
flag to true
так, что, как известно, является массивом, и вы можете запросить хранилище объектов на нем в виде массива, см here для получения дополнительной информации о multiEntry
индексов.
Примечание: В момент написания IE10 & IE11 не поддерживает multiEntry
индексов в IndexedDB.
Если я хочу применить индекс к элементу массива, который является строкой. В объекте над массивом Student есть свойство name, можно ли применить индекс по имени и как? –