[英]Query Nested Object in Firebase Firestore
我的 Firestore 数据库中有一个包含此字段“参与者”的文档列表,作为嵌套的 object。
我想进行一个查询,该查询仅从数据库中获取一个文档(以查看它是否存在),该文档具有(例如)用户 ID 5 和 6。
这就是我的代码的样子
const chatsCollection = db.collection('chats');
async function createChat(myId, otherUserId){
chat = await chatsCollection
.where(`participants.${myId}`, "==", true)
.where(`participants.${otherUserId}`, "==", true)
.limit(1).get();
if(!chat.exists){
alert('chat doesnt exist')
//create chat
} else {
alert('chat exists')
//do something else
}
}
然而,即使与参与者 object 的聊天确实存在于数据库中,代码的结果表明它不存在。
这是将数据添加到数据库时的数据结构
var chat_key = (Math.random() + 1).toString(36).substring(2);
chatData = {
key: chat_key,
created_at: new Date(),
participants: {
myId: true,
otherUserId: true,
}
}
chatsCollection.doc(chat_key).set(chatData);
感谢有关如何解决此问题的任何帮助。 谢谢:)
在方法集合上,您可以使用空属性来查看查询是否获取数据
if(chat.empty){
alert('chat doesnt exist')
//create chat
} else {
alert('chat exists')
//do something else
}
要从查询中只获取一个文档,您可以使用
chat.docs[0].data();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.