添加新文档时,如何引用新创建的文档的data属性?
例如: https://firebase.google.com/docs/firestore/manage-data/add-data
import React, { useEffect } from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { getCurrentProfile } from '../../actions/profile';
const Dashboard = ({ getCurrentProfile, auth, profile }) => {
useEffect(() => {
getCurrentProfile();
}, []);
return <div>Dashboard</div>;
};
Dashboard.propTypes = {
getCurrentProfile: PropTypes.func.isRequired,
auth: PropTypes.object.isRequired,
profile: PropTypes.object.isRequired,
};
const mapStateToProps = (state) => ({
auth: state.auth,
profile: state.profile,
});
export default connect(mapStateToProps, { getCurrentProfile })(Dashboard);
答案 0 :(得分:0)
Ref只是指向类型firebase.firestore.DocumentReference的数据库位置的指针,该类型没有data()方法。您可以执行以下操作:
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault()
});
const db = admin.firestore();
let data = {
name: 'Tokyo',
country: 'Japan'
};
//Adding data (name: 'Tokyo', country: 'Japan')
let setDoc = db.collection('cities').add(data).then(ref => {
console.log('Added document with ID: ', ref.id);
// Retrieving the data from the recently created document.
return db.collection('cities').doc(ref.id).get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
console.log('Document data:', doc.data());
}
})
.catch(err => {
console.log('Error getting document', err);
});
}).catch(err => {
console.log('Error adding the data',err);
});
您将检索Document data: { name: 'Tokyo', country: 'Japan' }
,它与您刚在上面添加的数据相同。