查询对象包含用户ID的Firebase对象

查询对象包含用户ID的Firebase对象,firebase,firebase-realtime-database,firebaseui,Firebase,Firebase Realtime Database,Firebaseui,我有一个Firebase数据库,其中包含一个产品列表,每个产品都有一个购物车元素的子列表。我只希望接收包含具有正确用户ID的购物车元素的产品元素 我正在使用FirebaseUI listadapter。我得到了产品列表的所有元素,但我只想显示包含userID的产品 我可以从ListAdapter中删除视图吗?或者可以通过一些查询进行排序 欢迎提出解决问题的所有想法 编辑 这是产品类的一部分 public class Product implements Serializable{ pr

我有一个Firebase数据库,其中包含一个产品列表,每个产品都有一个购物车元素的子列表。我只希望接收包含具有正确用户ID的购物车元素的产品元素

我正在使用FirebaseUI listadapter。我得到了产品列表的所有元素,但我只想显示包含userID的产品

我可以从ListAdapter中删除视图吗?或者可以通过一些查询进行排序

欢迎提出解决问题的所有想法

编辑

这是产品类的一部分

public class Product implements Serializable{

    private boolean active;

    private ArrayList<Cart> carts;

    private String description;

    private String details;

    private String ean;

    private String id;

    private String image;

    private String name;

    private Float price;

    private ArrayList<ProductPack> productpacks;

    private int stock;

    private int stockavailable;

    private Float tax;

    private String users; 
}

您可以使用查询告诉Firebase服务器过滤返回的数据:

Firebase ref = new Firebase("https://yours.firebaseio.com");
Firebase products = ref.child("products");
Query userProducts = products.orderByChild("userId").equalTo(authData.uid);

FirebaseListAdapter<Product> adapter = new FirebaseListAdapter<Product>(
    this,
    Product.class,
    R.layout.product_layout,
    userProducts
) { ...
现在,您可以为用户访问产品:

Firebase ref = new Firebase("https://yours.firebaseio.com");
Firebase products = ref.child("UserProducts");
Firebase userProducts = products.child(authData.uid);

FirebaseListAdapter<Product> adapter = new FirebaseListAdapter<Product>(
    this,
    Product.class,
    R.layout.product_layout,
    userProducts
) { ...
Firebase ref=新的Firebase(“https://yours.firebaseio.com");
Firebase products=ref.child(“用户产品”);
Firebase userProducts=products.child(authData.uid);
FirebaseListAdapter=新的FirebaseListAdapter(
这
产品类别,
R.layout.product_布局,
用户产品
) { ...

您可以告诉Firebase服务器使用查询过滤返回的数据:

Firebase ref = new Firebase("https://yours.firebaseio.com");
Firebase products = ref.child("products");
Query userProducts = products.orderByChild("userId").equalTo(authData.uid);

FirebaseListAdapter<Product> adapter = new FirebaseListAdapter<Product>(
    this,
    Product.class,
    R.layout.product_layout,
    userProducts
) { ...
现在,您可以为用户访问产品:

Firebase ref = new Firebase("https://yours.firebaseio.com");
Firebase products = ref.child("UserProducts");
Firebase userProducts = products.child(authData.uid);

FirebaseListAdapter<Product> adapter = new FirebaseListAdapter<Product>(
    this,
    Product.class,
    R.layout.product_layout,
    userProducts
) { ...
Firebase ref=新的Firebase(“https://yours.firebaseio.com");
Firebase products=ref.child(“用户产品”);
Firebase userProducts=products.child(authData.uid);
FirebaseListAdapter=新的FirebaseListAdapter(
这
产品类别,
R.layout.product_布局,
用户产品
) { ...

谢谢!我考虑过使用第二个选项,但之后我不得不在多个地方更新产品更改,感觉不太好。这就是你的SQL格兰德。一旦你的NoSQL格兰德占据主导地位,感觉会更好。:-)谢谢!我考虑过使用第二个选项,但之后我必须更新产品更改在很多地方感觉不太好。这就是你的SQL腺体。一旦你的NoSQL腺体占主导地位,这种感觉就会变得更好。:-)