检查 Sembast DB 中是否存在 Value

问题描述

我正在尝试将 Sembast Nosql 数据库实施到我的 Flutter 项目中。准确地说:我想根据日期从 FireStore 获取数据并将其存储在 Sembaststore 中。我只希望挑战每月更新一次,但我似乎无法思考如何去做。 商店一开始是空的,我认为这就是我犯错的地方。但是我如何检查商店中是否存在挑战,而不必先插入它。因为我只想添加,如果没有挑战或者新的一个月开始更新。 我将在下面添加代码

如果您能就如何解决此任务给我建议,我会很高兴。

提前致谢。

Future <Challenge> getChallengeFromLocalDB(String challengeName) async {
    _challengeStore = intMapStoreFactory.store(challengeName);
    Challenge chall;
    var records = await _challengeStore.findFirst(await _db);
    print(records.value); //This is the part where I get the error.
    Timestamp fetchTime = records['fetchtime'];
    DateTime date = fetchTime.toDate();
    DateTime tdy = DateTime.Now();
    if(date.month < tdy.month && date.year < tdy.year || date == null){
      print("In die bedingung geschafft");
      chall = await fetchChallenge(challengeName);
    } else {
      chall = challengeFromLocalDB(records.value);
    }
    return chall;
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)