У меня была та же проблема, на которую я нуждался в ответе. См. эту гугл-ветку с ответом кого-то из Google. Процитируем это:
Вы можете получить id из пути, используя оператор «index»:
some_document_ref
должно выглядеть как/databases/(default)/documents/foo/bar
который имеет 5 сегментов:
["databases", "(default)", ...]
some_document_ref[4]
должен быть «бар», разрешить создание: если request.resource.data.some_document_ref [4] == «бар»;Вы можете также используйте обычные функции
get
иexists
для них.Несколько трудных аспектов этого, с которыми вы можете столкнуться:
blockquote>
В настоящее время нет способа получить количество сегментов в пути (мы добавим это в ближайшее время) , поэтому вам нужно знать некоторую информацию о ссылке заблаговременно
Существует небольшая поддержка написания ссылок с использованием симулятора в консоли Firebase. Я использовал эмулятор Firestore, чтобы проверить это поведение (gist1, gist2)
Еще несколько опций:
С asplit
asplit(xy.df, 1)
#[[1]]
# x y
#0.1137 0.6936
#[[2]]
# x y
#0.6223 0.5450
#[[3]]
# x y
#0.6093 0.2827
#....
<час> С split
и row
split(xy.df, row(xy.df)[, 1])
# Еще несколько опций:
С asplit
[110] <час> С split
и row
1`
# x y
#1 0.1137 0.6936
# Еще несколько опций:
С asplit
[110] <час> С split
и row
2`
# x y
#2 0.6223 0.545
# Еще несколько опций:
С asplit
[110] <час> С split
и row
3`
# x y
#3 0.6093 0.2827
#....
данные
set.seed(1234)
xy.df <- data.frame(x = runif(10), y = runif(10))
Эврика!
xy.list <- as.list(as.data.frame(t(xy.df)))