Node.js 错误[FirebaseError]:无效的文档引用。文档引用的段数必须为偶数,

Node.js 错误[FirebaseError]:无效的文档引用。文档引用的段数必须为偶数,,node.js,google-cloud-firestore,Node.js,Google Cloud Firestore,我已经在另一个集合上运行了相同的algo,它的疾病名称与doc相同,症状数组与field相同。它工作得很好。 错误: D:\react tutorial\reactnative\fyp\node\u modules\@firebase\firestore\dist\node cjs\database-21da52c3-e2da0fdd.js:25868 抛出replaceFunctionName(例如,'doc()','CollectionReference.doc()'); ^ 错误[Fire

我已经在另一个集合上运行了相同的algo,它的
疾病
名称与doc相同,症状数组与field相同。它工作得很好。 错误:

D:\react tutorial\reactnative\fyp\node\u modules\@firebase\firestore\dist\node cjs\database-21da52c3-e2da0fdd.js:25868
抛出replaceFunctionName(例如,'doc()','CollectionReference.doc()');
^
错误[FirebaseError]:无效的文档引用。文档引用必须有偶数个段,但datasetSymptom/feels hot/feverish有3个。
新建FireStore时出错(D:\react-tutorial\reactnative\fyp\node\U模块\←[4m@firebase←[24m\firestore\dist\node cjs\database-21da52c3-e2da0fdd.js:209:28)
在ValidatedDocumentPath(D:\react tutorial\reactnative\fyp\node\u模块\←[4m@firebase←[24m\firestore\dist\node cjs\database-21da52c3-e2da0fdd.js:19706:15)
在文档中(D:\react tutorial\reactnative\fyp\node\u模块\←[4m@firebase←[24m\firestore\dist\node cjs\database-21da52c3-e2da0fdd.js:22462:9)
在CollectionReference$1.doc处(D:\react-tutorial\react-Native\fyp\node\U模块\←[4m@firebase←[24m\firestore\dist\node cjs\database-21da52c3-e2da0fdd.js:25864:64)
位于D:\react tutorial\reactnative\fyp\index2x2.js:1233:37
在Array.forEach()处
对象处。(D:\react tutorial\reactnative\fyp\index2x2.js:1231:16)
←[90米模块处。_编译(内部/modules/cjs/loader.js:1063:30)←[39m
←[Object.Module._extensions..js处为90m(internal/modules/cjs/loader.js:1092:10)←[39m
←[Module.load处90米(内部/modules/cjs/loader.js:928:32)←[39m{
代码:←[32m'无效参数'←[3900万,
toString:←[36m[职能(匿名)]←[39m
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

看起来数组中的一个或多个对象没有
症状
属性。当发生这种情况时
文档(对象症状)
导致引用空文档,这就是导致错误的原因

要查找有问题的数组项,请手动检查JSON,或在代码中执行类似操作:

D:\react tutorial\reactnative\fyp\node_modules\@firebase\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:25868
            throw replaceFunctionName(e, 'doc()', 'CollectionReference.doc()');
            ^

Error [FirebaseError]: Invalid document reference. Document references must have an even number of segments, but datasetSymptom/feels hot/feverish has 3.
    at new FirestoreError (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:209:28)
    at validateDocumentPath (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:19706:15)
    at doc (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:22462:9)
    at CollectionReference$1.doc (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:25864:64)
    at D:\react tutorial\reactnative\fyp\index2x2.js:1233:37
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (D:\react tutorial\reactnative\fyp\index2x2.js:1231:16)
←[90m    at Module._compile (internal/modules/cjs/loader.js:1063:30)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:928:32)←[39m {
  code: ←[32m'invalid-argument'←[39m,
  toString: ←[36m[Function (anonymous)]←[39m
}

我的数据比代码中显示的要大得多1)请限制您发布的评论数量,因为这些信息可能是一条评论。2)您共享的日志行没有显示代码有什么问题,并且很难仅用“它不起作用”来帮助我。请在我的回答中提供有关使用代码时遇到的确切问题的具体信息。您是否已经自己调试了该问题,例如,通过在调试器中逐行检查代码?使用错误更新了该问题。该问题是字符串中包含“/”的一个症状,因为该字符串在firestore中无效,因此我将这样就解决了这个问题:好听。如果我的答案有用,请单击“向上投票”按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见
D:\react tutorial\reactnative\fyp\node_modules\@firebase\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:25868
            throw replaceFunctionName(e, 'doc()', 'CollectionReference.doc()');
            ^

Error [FirebaseError]: Invalid document reference. Document references must have an even number of segments, but datasetSymptom/feels hot/feverish has 3.
    at new FirestoreError (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:209:28)
    at validateDocumentPath (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:19706:15)
    at doc (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:22462:9)
    at CollectionReference$1.doc (D:\react tutorial\reactnative\fyp\node_modules\←[4m@firebase←[24m\firestore\dist\node-cjs\database-21da52c3-e2da0fdd.js:25864:64)
    at D:\react tutorial\reactnative\fyp\index2x2.js:1233:37
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (D:\react tutorial\reactnative\fyp\index2x2.js:1231:16)
←[90m    at Module._compile (internal/modules/cjs/loader.js:1063:30)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:928:32)←[39m {
  code: ←[32m'invalid-argument'←[39m,
  toString: ←[36m[Function (anonymous)]←[39m
}
datasetSymptom.forEach(function(obj, index) {
  if (obj.Symptom && object.Symptom.length) {
    db.collection("datasetSymptom").doc(obj.Symptom).set({
      Disease: obj.Disease
    })
  }
  else {
    console.error(`Found an object without a Symptom at index ${index} in the array`);
  }
});