【问题标题】:"Field Value is not a function" when I try to use the increment feature当我尝试使用增量功能时,“字段值不是函数”
【发布时间】:2020-11-19 18:25:39
【问题描述】:

我正在尝试在使用 Cloud Firestore 的 React 应用程序中实现一些简单的竖起大拇指/竖起大拇指的功能。该应用程序允许用户搜索电影并给它竖起大拇指,然后我想增加我的 frestore 数据库中的值。当我尝试这样做时,我收到错误“FieldValue 不是函数”。

这是我在组件中的代码:

 import {db}from './firebase'
    const firebase = require("firebase/firestore");
    const movieDocRef = db.collection("ratings").doc(title);
    const increment = firebase.FieldValue.increment(1);
    movieDocRef.update({thumbsUP: increment})

这是我的 firebase 配置文件

const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");
const config = {
    //my config data all should fine
  };
  

export const fire = firebase.initializeApp(config);

export const db = fire.firestore();

如果您能提供任何帮助,我们将不胜感激。我查看了一些类似的主题,但似乎没有任何问题可以解决这个问题

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    由于您使用的是 react,我建议您查看getting started with Firebase using module bundlers 的文档。使用 8.0.0 或更高版本的 Firebase SDK 时,您的导入应该看起来更像这样:

    import firebase from "firebase/app";
    import "firebase/firestore"
    
    const movieDocRef = firebase.firestore().collection("ratings").doc(title);
    movieDocRef.update({ thumbsUP: firebase.firestore.FieldValue.increment(1) })
    

    【讨论】:

    • 感谢您的帮助!我之前尝试过该导入方法,但仍然出现错误。刚刚再次尝试并得到以下错误: × TypeError: firebase_app__WEBPACK_IMPORTED_MODULE_4___default.a.firestore.FieldValue.increment is not a function。我的组件文件和 firebase 配置文件中都有导入。
    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 2019-08-31
    • 1970-01-01
    • 2020-03-07
    • 2018-08-24
    • 2023-01-23
    • 1970-01-01
    • 2018-04-22
    相关资源
    最近更新 更多