我正在使用React.js构建一个应用程序,用户可以在其中创建特定的民意测验,并将其保存到firebase。用户自己可以看到所有HIS创建的民意调查的菜单。数据在firebase中的组织方式如下:
Users:
-XXXXXX: (the user UID)
-YYYYYY: (firebase's random string name, that represents a single poll)
options: [1,2,3],
question: "What color is the sun?",
values: ["yellow","red","orange"]
-YYYYYY: ... (another poll the user created)
-YYYYYY: ... (third poll the user created)
现在,每个民意调查位于一个不同的链接,即/ YYYYYY
在民意调查链接网站上,我正在尝试获取当前民意调查的民意调查数据。如果用户未登录(我希望任何人都可以投票),我遇到的问题就是获取数据本身。
是否可以“跳过”创建调查的用户,并到达YYYYYY及其数据?
答案 0 :(得分:1)
如果您知道民意测验的密钥(示例中的YYYYYY
),则可以通过以下方式加载它:
var ref = firebase.database().ref("users");
var query = ref.orderByKey().equalTo("YYYYYY");
query.once("child_added", function(snapshot) {
console.log(snapshot.key, snapshot.val());
});
答案 1 :(得分:0)
我建议您以其他方式组织民意测验,用户将是民意测验的一个字段(例如,包含用户UID的作者档案)。
无论如何,您仍然可以通过使用users
查询var usersRef = db.collection("users");
集合来访问民意测验,如此处https://firebase.google.com/docs/firestore/query-data/get-data所述。
然后,您可以对所有XXXXXX用户和每个YYYYYY民意测验的响应进行迭代,直到找到您感兴趣的YYYYYY ID。