【问题标题】:Vue.js Firestore save geopointVue.js Firestore 保存地理点
【发布时间】:2019-02-09 06:25:10
【问题描述】:

那里!我对 Vue.js 和 JavaScript 非常陌生。我正在关注一些 youtube 指南以了解它是如何工作的,但是当我无法将 GeoPoint 添加到我的 Firestore 数据库时,我遇到了这个问题。

这是我所拥有的:

firebaseInit.js

import firebase from 'firebase'
import 'firebase-admin'
import firebaseConfig from './firebaseConfig'
import { scrypt } from 'crypto';
const firebaseApp = firebase.initializeApp(firebaseConfig)
export default firebaseApp.firestore()

script 相关的.vue 文件:

<script>
import db from "./firebaseInit";
 ...
 greet: function(event) {
  db.collection("events_test").add({
    name: this.name,
    ...
    location: new admin.firestore.GeoPoint(51.435454, 31.445456),
    phone: this.phone
    },
    originalUrl: this.originalUrl,
    createdAt: new Date(),
    updatedAt: new Date()
  })
  .then(docRef =>{
      alert(docRef.id)
  })
  .catch(error => {
       alert(error)
  });
  <script>

new admin.firestore.GeoPoint(51.435454, 31.445456) 这个初始化对我不起作用。以及new GeoPoint(lat,lng)firebase.firestore.GeoPoint(lat,lng)。我总是得到ReferenceError,它没有在Vue.Component 中定义。请帮忙。

【问题讨论】:

    标签: javascript firebase vue.js google-cloud-firestore


    【解决方案1】:

    通过执行import 'firebase-admin'location: new admin.firestore.GeoPoint(51.435454, 31.445456),,您正在尝试在 JavaScript/Web 应用程序(使用 Vue.js 构建)中使用 Admin SDK。

    这不是 Admin SDK 的目标,它“让您从特权环境与 Firebase 交互”,即从您通常完全控制的服务器。有关详细信息,请参阅文档:https://firebase.google.com/docs/admin/setuphttps://firebase.google.com/docs/reference/admin/

    在您的情况下,您应该使用“标准”JavaScript SDK 来创建 GeoPoint(请参阅 https://firebase.google.com/docs/reference/js/firebase.firestore.GeoPoint),方法是:

    <script>
    import firebase from 'firebase/app'
    import db from "./firebaseInit";
     ...
     greet: function(event) {
      db.collection("events_test").add({
        name: this.name,
        ...
        location: new firebase.firestore.GeoPoint(51.435454, 31.445456),
        phone: this.phone
        }
      ....
    

    请注意,您需要在组件中导入firebase/app


    请注意,似乎有一个额外的{

    phone: this.phone
    },
    originalUrl: this.originalUrl,
    

    【讨论】:

    • 非常感谢@RenaudTarnec
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2020-08-26
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多