firebase.getDatabase()).ref() 不是一个函数
2021-11-19
2877
您好,我正在
nodeJS
上做一个项目,并使用 firebase。
我尝试获取
users
的
name
以不重写现有值。
数据库是:
我的代码尝试一些东西:
serv.js
const firebaseConfig = {
apiKey: process.env.REACT_APP_API_KEY,
authDomain: process.env.REACT_APP_AUTHDOMAIN,
databaseURL: process.env.REACT_APP_DATABASEURL,
projectId: process.env.REACT_APP_PROJECTID,
storageBucket: process.env.REACT_APP_STORAGEBUCKET,
messagingSenderId: process.env.REACT_APP_MESSASGINGSENDERID,
appId: process.env.REACT_APP_APPID,
measurementId: process.env.REACT_APP_MEASUREMENTID
};
const {initializeApp} = require('firebase/app');
const {getDatabase} = require('firebase/database');
const {getAuth, signInWithEmailAndPassword, createUserWithEmailAndPassword} = require('firebase/auth');
const fireapp = initializeApp(firebaseConfig);
const db = getDatabase(fireapp);
var firebaseauth = getAuth(fireapp);
[...]
function create_entry_name(name, email)
{
const ref = db.ref('/users/' + name);
ref.on('value', (snapshot) => {
console.log(snapshot.val());
}, (errorObject) => {
console.log('The read failed: ' + errorObject.name);
});
}
这实际上是 firebase 网站上的示例。
但是我收到一个错误,其中是:
db.ref is not a function
如果您有此问题的解决方案,我将不胜感激...
3个回答
您正在使用模块化 SDK (
v9.0.0+
),但使用的是较旧的命名空间语法。请尝试按如下方式重构代码:
import { getDatabase, ref, onValue} from "firebase/database";
function create_entry_name(name, email) {
const ref = ref(db, '/users/' + name);
onValue(ref, (snapshot) => {
const data = snapshot.val();
console.log(data)
});
}
您可以在 文档 中找到有关新语法的更多详细信息。
Dharmaraj
2021-11-20
直接调用 getDatabase。它已经初始化。
const db = getDatabase();
const ref = db.ref('/users/'+ name);
Patrick Kelly
2021-11-19
从应用程序库构建应用程序...
import { firebaseApp } from 'firebase/app';
const app = initializeApp({/*config*/});
然后从初始化的应用程序获取数据库
。
请注意,OP 未能将参数传递给
getDatabase
...
const db = getDatabase(app);
const ref = db.ref('users/' + name);
// etc...
danh
2021-11-19