title: How can I reach and manipulate Firebase Database from Cloud Functions?
body: <p>I am working on sending dynamic notification to user. Therefore, I am dealing with the Firebase Cloud Functions. 
  Here is my question: How can I reach database in the cloud functions side? </p>
  
  <p>Here is my codes: </p>
  
  <pre><code>const functions = require('firebase-functions');
  const admin = require('firebase-admin');
  
  
  
  
  // // Create and Deploy Your First Cloud Functions
  // // https://firebase.google.com/docs/functions/write-firebase-functions
  //
  // exports.helloWorld = functions.https.onRequest((request, response) =&gt; {
  //  response.send("Hello from Firebase!");
  // });
  
  admin.initializeApp(functions.config().functions);
  
  
  var newData;
  
  
  
  //exports.myTrigger= functions.firestore.document().
  
  
  
  
  exports.notificationTrigger = functions.firestore.document(`notifications/{notificationId}`).onCreate(async (snapshot, context) =&gt; {
  
  
      if (snapshot.empty) {
          console.log('No Devices');
          return;
      }
    var notificationData = snapshot.data();
    // notificationData.email;
    console.log(`Data  is : ${notificationData.email}`);
  
  
        admin.database().ref(`users/${notificationData.email}/deviceToken`).then((snapshot) =&gt; {
              var token = snapshot.data();
              console.log('token',token)
              return 1;
          }).catch(err =&gt; {
              console.error(err);
  
          }); 
  
  
  
  
  
      var tokens = [
          `${token.deviceToken}`
      ];
  
  
  
      var payload = {
          notification: {
              title: `Yeni Eklenen Değerin Maili : ${notificationData.email}`,
              body: 'hüsen',
              sound: 'default',
          },
          data: {
              click_action: 'FLUTTER_NOTIFICATION_CLICK',
              Messages:'Baba Mesajı from otomatik fonksiyon'
          },
      };
  
      try {
          const response = await admin.messaging().sendToDevice(tokens, payload);
          console.log('Notification sent successfully');
      } catch (err) {
          console.log(err);
      }
  });  
  
  </code></pre>
  
  <p>As you can see, Firstly, I want to take email from nofications collection, then using that email, I want to search user which is using that email, After that, I want to take user deviceToken.</p>
  
  <p><strong>I tried so much things about syntax but I did not get any result from them :/</strong></p>
  
  <p>Likewise, I took some kind of errors: </p>
  
  <p><strong>Here you can see the errors:</strong></p>
  
  <ul>
  <li>Reference.child failed: First argument was an invalid path = "users/patientaccount@gmail.com/deviceToken". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
  at validatePathString (/srv/node_modules/@firebase/database/dist/index.node.cjs.js:1667:15)
  at validateRootPathString (/srv/node_modules/@firebase/database/dist/index.node.cjs.js:1679:5)
  at Reference.child (/srv/node_modules/@firebase/database/dist/index.node.cjs.js:13843:17)
  at Database.ref (/srv/node_modules/@firebase/database/dist/index.node.cjs.js:15097:48)
  at exports.notificationTrigger.functions.firestore.document.onCreate (/srv/index.js:37:24)
  at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23)
  at /worker/worker.js:825:24
  at 
  at process._tickDomainCallback (internal/process/next_tick.js:229:7)</li>
  </ul>