Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Firestore: search document path">
  <meta charset="utf-8">
  <script src="https://www.gstatic.com/firebasejs/7.14.4/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.14.4/firebase-firestore.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.14.4/firebase-auth.js"></script>
  <title>Firestore: search document path</title>
</head>
<body>
  <p>https://stackoverflow.com/q/71389577</p>
</body>
</html>
 
var config = {
  apiKey: "AIzaSyCvpYQu44zmRXA0XQkcxEuakyytRsnWXSc",
  authDomain: "stackoverflow.firebaseapp.com",
  databaseURL: "https://stackoverflow.firebaseio.com",
  projectId: "project-8080059325282098184",
  storageBucket: "project-8080059325282098184.appspot.com",
  messagingSenderId: "82293832823"
};
firebase.initializeApp(config);
//firebase.firestore.setLogLevel('debug');
var db = firebase.firestore();
var root = db.collection("/71389577/");
var attractions = db.collectionGroup("attractions");
/*
let query = attractions
  .orderBy("name")
  .where("name", ">=", "A")
  .where("name", "<", "D")
  .orderBy(firebase.firestore.FieldPath.documentId())
  .startAt("71389577")
  .endAt("71389577" + "\uf8ff")
  ;
query.get().then((snapshot) => {
  console.log("Got "+snapshot.docs.length+" results");
  snapshot.docs.forEach(function (doc) {
    console.log(doc.id+": "+doc.data().name);
  });
}).catch((error) => {
  console.log('error', error);
})
*/
let query = attractions
  .orderBy("name")
  .orderBy(firebase.firestore.FieldPath.documentId())
//   .where("name", ">=", "A")
//   .where("name", "<=", "Z")
  .startAt("A", "71389577/\u0000")
  .endAt  ("Z", "71389577/\uf8ff")
  ;
query.get().then((snapshot) => {
  console.log("Got "+snapshot.docs.length+" results");
  snapshot.docs.forEach(function (doc) {
    const parentDoc = doc.ref.parent.parent.id;
    const grantparentDoc = doc.ref.parent.parent.parent.id
    console.log(`/${doc.ref.path}: ${doc.data().name}`);
  });
}).catch((error) => {
  console.log('error', error);
})
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
pufpro
0viewers