Вы должны сделать это так, как вы описали. MongoDB является нереляционной базой данных и не поддерживает объединения.
Попробуйте это
@Query("SELECT * FROM weapon_table WHERE fighter_id IN (:fighter_id)" )
LiveData<List<Weapon>> getFighterWeapons(long fighter_id);
Исправление было довольно простым, я следовал этому учебнику по Google Code Labs , и когда я попытался его расширить, я забыл фактически присвоить результат запроса списку, содержащемуся в файле репозитория. Спасибо за предложения, они направили меня в правильном направлении.
LiveData<List<Weapon>> getFighterWeapons(long fighter_id)
{
mWeaponDao.getFighterWeapons(fighter_id);
return mAllWeapons;
}
заменено на
LiveData<List<Weapon>> getFighterWeapons(long fighter_id)
{
mAllWeapons = mWeaponDao.getFighterWeapons(fighter_id);
return mAllWeapons;
}
Ваш код должен работать, но я думаю, что проблема заключается в определении внешних ключей. `
parentColumns = "fighter_id",
childColumns = "fighter_id"
вы можете удалить его и попробовать?
`