rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
/*-----tile menus----------*/
match /users/defaultmenuItems/{document=**} {
allow read: if isOwner(userId);
allow write: if false;
}
match /users/{userId}/{document=**} {
allow read,write,update: if isOwner(userId);
}
function isOwner(userId) {
return request.auth.uid == userId;
}
}
}
public void readMenu(final String collection, final String path, final DataRead dataStatus) {
firebaseFirestore.collection(collection)
.document(userId + path)
.get()
.addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot documentSnapshot = task.getResult();
if (documentSnapshot.exists()) {
dataStatus.DataIsRead(documentSnapshot);
} else {
getDeafaultItems(collection, path);
}
} else {
Log.d(TAG, "Sorry ....");
}
}
});
}
private void getDeafaultItems(final String collection, final String path) {
Log.d("MY_PATH",collection + "/defaultmenuItems"+path);
firebaseFirestore.collection(collection)
.document("defaultmenuItems" + path)
.get()
.addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
if (documentSnapshot.exists()) {
copyFromDefaults(collection, documentSnapshot, path);
}
}
});
}
users/defaultmenuItems/critical/home
match /users/defaultmenuItems/{document=**} {
allow read: if isOwner(userId);
allow write: if false;
}
我有一个文档集合,其中文档的id是用户id。让我们称这些为用户文档。 每个“用户文档”包含聊天消息的子集合。但并不是所有的“用户文档”都包含任何字段(数据,而不是子集合)。 我不想返回集合中没有任何字段但有子集合的所有文档,但我觉得这是不可能的? 此代码只返回包含字段的文档,而不是只有子集合的文档?有没有办法全部返回? 如何获取集合中所有文档id的列表?空的和非空的都有?或者,如果我不能访问没有字
我想使用Ionic 4 Firestore为应用程序提供离线和实时同步功能。 目标部署到本地应用程序(iOS,Android),电子应用程序(Windows和Mac),PWA。 > firestore本地缓存在混合应用中是否持久?firestore缓存使用什么类型的存储?它会像localstorage一样,android/iOS会在存储空间不足时不时删除它。 我正在用下面的代码进行测试,并启用了持
如何从Flatter firestore读取子集合。我正在使用cloud\u firestore。我正在成功地将数据添加到firestore中,但无法检索它(已尝试,但失败)。我想检索名为product Firestore collection的子集合 我试过了,我没有文档ID,因为它是从fiRecovery自动生成的:
Firestore如果我读取了一个集合,该集合包含100个文档,那么firebase是将其计算为100个读取操作还是1个读取操作? 如果我的1个文档包含另外2个集合,每个子集合包含10个文档,那么在这种情况下,总读取计数是多少?如果它单独计算子集合和it文档,那么Firestore的定价非常高
我正在尝试优化我的应用程序在Firesbase上的读取次数,并回顾我使用快照监控实时更改的方式。假设我有一个快照,返回10个最新文档,如下所示: 医生说 每次查询结果更改时(即添加、删除或修改文档时),快照处理程序都会收到一个新的查询快照。 这是否意味着每次查询更改时,我都将被计费10次读取?在这个例子中,如果添加了一个新城市(所以使用最新的“日期添加”,所以在查询中排在第一位),它将是1(只是新
我想使用Android Studio和Firebase制作一个在线QuizGame。第一步将是一个玩家的游戏模式,他可以从服务器获得问题。代码本身不是大问题,但我对FiRecovery的读取/定价有疑问。 游戏将是这样的:一轮,5个问题。我想让数据库看起来像这样: 项目:类别(集合)- 我的一般问题是,假设我正在寻找一个ID。例如,我的类别集合中有50个ID。如果我启动一个查询,它会检查每个条目,