firebase TypeError:无法读取未定义的属性“FieldValue”

iibxawm4  于 2023-11-21  发布在  其他
关注(0)|答案(6)|浏览(159)
19 | event.preventDefault();
  20 | db.collection('todos').add({
  21 |   todo:input,
  22 |   timestamp: firebase.firestore.FieldValue.serverTimestamp()
  23 |  });
  24 | 
  25 | setInput("");

字符串
每当我尝试运行这段代码时,它都会显示类型错误。因此,我无法将数据推送到firebase

bqf10yzr

bqf10yzr1#

对于那些使用Admin SDK和NodeJS的用户:

import { FieldValue } from '@google-cloud/firestore'

const docData = {
  userName: 'Lucas'
  createdAt: FieldValue.serverTimestamp()
}

字符串
您可以在这里找到所有外部API的引用:https://firebase.google.com/docs/reference/admin/node/firebase-admin.firestore

5jdjgkvh

5jdjgkvh2#

请确保从'firebase'导入firebase,而不是从'./firebase'导入firebase。
我和你有同样的问题,通过这个解决了。

06odsfpq

06odsfpq3#

请确保timestamp的值正确,如果不需要,请不要传递时间戳。尝试将此json传递给todos collection:

{
  todo:input,
  timestamp: firebase.firestore.FieldValue.serverTimestamp() || null
}

字符串
通过记录console.log(firebase.firestore)并尝试console.log(Object.keys(firebase.firestore)),确保FieldValue位于firebase.firestore内部

wfveoks0

wfveoks04#

您可以尝试:

import { serverTimestamp } from '@firebase/firestore'

timestamp: serverTimestamp()

字符串
我希望它能起作用

h7wcgrx3

h7wcgrx35#

event.preventDefault();
db.collection('todos').add({
  todo:input,
  timestamp: firebase.Xc.firebase_.firestore.FieldValue.serverTimestamp()
}); 

setInput("");

字符串

ds97pgxw

ds97pgxw6#

这个解决方案对我来说很有效:

const {Timestamp} = require("firebase-admin/firestore")

{
  todo:input,
  timestamp: Timestamp.now(),
}

字符串

相关问题