使用go和FireStore创建web应用程序。我遇到了一个奇怪的问题。如果使用NewDoc方法保存数据
ref := client.Collection("blogs").NewDoc()
_, err := ref.Set(ctx, mapBlog)
if err != nil {
// Handle any errors in an appropriate way, such as returning them.
log.Printf("An error has occurred: %s", err)
}
我可以使用
var bs models.Blogs
iter := client.Collection("blogs").Documents(ctx)
for {
var b models.Blog
doc, err := iter.Next()
if err != nil {
fmt.Println(err)
}
if err == iterator.Done {
break
}
if err := doc.DataTo(&b); err != nil {
fmt.Println(doc.Data())
bs = append(bs, b)
}
}
现在,当我只想查找博客集合中的所有文档时,这是很棒的。但是我遇到了无法从blogs集合中查询特定blog的问题。我通过查看文档和保存类似的帖子来解决这个问题。
//p is a struct and p.ID is just a string identifier
// the docs show creating a struct with an ID and then an embedded struct within.
_, err := client.Collection("blogs").Doc(p.ID).Set(ctx, p)
if err != nil {
fmt.Println(err)
}
但是,由于我自己创建了docID,所以从整个集合中检索所有文档时使用
if err := doc.DataTo(&b); err != nil {
fmt.Println(doc.Data())
bs = append(bs, b)
fmt.Println(b)
}
只有当doc.datato(&b)
返回错误时,程序才会将blogs追加到结果中。
这样编写代码:
var bs models.Blogs
iter := client.Collection("blogs").Documents(ctx)
defer iter.Stop() // add this line to ensure resources cleaned up
for {
doc, err := iter.Next()
if err == iterator.Done {
break
}
if err != nil {
// Handle error, possibly by returning the error
// to the caller. Break the loop or return.
... add code here
}
var b models.Blog
if err := doc.DataTo(&b); err != nil {
// Handle error, possibly by returning the error
// to the caller. Continue the loop,
// break the loop or return.
... add code here
}
bs = append(bs, b)
}
我正在使用Java开发一个Android应用程序,我使用firestore数据库,我有一个名为用户位置的集合,其结构类似于照片: 分贝 我的问题是,当一个用户改变他的位置或一个新用户进入一个已经存在的位置(其他用户有相同的位置)时,它会创建一个新文档(如在“oran, algerie”中)。当我添加新用户并更新文档时,我想使用,但问题是我无法以正常方式检索根集合的所有文档: 它返回null。我尝试
我试图设置一个聊天应用程序,在其中你可以搜索随机的用户交谈。现在,firestore中的数据库结构如下: 集合“users”-文档“userid”-集合“conversations”-文档“conversationid”-字段“partner”,“lastmessage” 其次,我有一个集合“conversations”,其中包含对话中的所有消息。 我现在尝试做的是,当你按下一个按钮时,应用程序将
嗨,我从javascript和react-native开始,我花了几个小时试图解决这个问题。有人能告诉我如何从firestore收集处获得所有文件吗? 我一直在尝试这个: 日志1打印所有对象(一个接一个),但日志2没有定义,为什么?
我想从一个集合中得到所有的文件,然后用它们,得到他们的身份证。这里我的集合如何是用户集合,它只是一个集合和多个文档。我试了一下,但不起作用: 更新
假设我有这种结构 其中和是集合,和是文档 有没有一种方法可以通过一个查询获得根文档中包含的所有内容<如果我这样问 我只得到字段。我想要的是B的所有文件 我基本上希望我的查询返回 是否可能或者我真的需要对每个集合进行多个查询:/? 假设我有一个代表用户配置文件的非常深的嵌套集合树,我的成本会像地狱一样上升,因为每次我加载用户配置文件时,我都有一个读取请求的乘数其中N是我的树的深度: /.
我现在有一个firestore,看起来像这样: 我使用的是,我试图获取“报告”集合中的所有文档。 我可以得到一个报告: 但我无法得到整个子集合 这可能吗?我是新手,所以这可能是一个愚蠢的问题。 谢谢 编辑控制台中收到的错误消息是: 我不确定权限,我没有访问权限,但如果是权限问题,我很困惑,我可以从集合中获取一个文档,但找不到获取所有文档的方法