微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用firebase在xamarin中指定当前的关键节点?

如何解决如何使用firebase在xamarin中指定当前的关键节点?

我正在使用 Xamarin 和 FireBase,但我遇到了下一个问题:

我的数据库中有用户,每个用户都有一个项目列表。我需要检索当前用户的项目列表,问题是我不知道如何替换树中每个用户的键,(我只是硬写的)。这是片段:

var products = (await client.Child("Users").Child("-MXf6T19md1UOTVvHWRU").Child("Items")
                .OnceAsync<Item>())
                .Select(f => new Item
                { . . .

Here is a picture of the database tree.

考虑到我必须访问旁边的另一个 Child,我如何将 Child("-MXf6T19md1UOTVvHWRU") 替换为我所在的当前分支?当然,我可以访问存储在首选项中的用户名值。

我希望得到一些启发,提前致谢。

解决方法

我需要检索当前用户的项目列表,问题是我不知道如何替换树中每个用户的键,(我只是硬写的)。

您可以使用下面的代码先获取所有项目,然后再获取特定项目。

 public async Task<List<User>> GetAllUsers()
    {

        return (await firebase
          .Child("Users")
          .OnceAsync<User>()).Select(item => new User
          {
              Name = item.Object.Name,UserId = item.Object.UserId,}).ToList();
    }

public async Task<User> GetUser(int userId)
    {
        var allUsers = await GetAllUsers();
        await firebase
          .Child("Users")
          .OnceAsync<User>();
        return allUsers.Where(a => a.UserId == userId).FirstOrDefault();
    }

型号:

 public class User
{
    public int UserId { get; set; }
    public string Name { get; set; }
}

您可以从 GitHub 下载类似的源代码。 https://github.com/susairajs/Xamarin-Firebase-RealtimeDatabase

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。