You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Plugin.CloudFirestore查询不存在的Firestore文档返回1,该值是否为标准标识?

关于Plugin.CloudFirestore查询不存在文档返回值的问题
  • Firestore官方SDK的标准行为:查询不存在的文档时,会返回一个DocumentSnapshot实例,其中Exists属性为false,而Id属性会返回你查询时传入的文档ID(即示例中的nonExistentId),不会返回int类型的1。
  • Plugin.CloudFirestore作为Firestore的Xamarin封装插件,设计上对齐官方SDK行为,因此不存在将1定义为“文档不存在”标准值的情况。
  • 你得到int类型的1,大概率是代码调用错误导致的:比如误将GetAsync()任务的状态码(而非DocumentSnapshot的Id)当成返回值,或是在异常捕获逻辑中返回了默认值1,而非正确获取DocumentSnapshot对象的属性。

正确的查询写法参考:

var snapshot = await CrossCloudFirestore.Current
                   .Instance
                   .Collection("myCollection")
                   .Document("nonExistentId")
                   .GetAsync();

if (snapshot.Exists)
{
    // 文档存在,获取ID
    var docId = snapshot.Id;
}
else
{
    // 文档不存在,执行对应逻辑
}

内容的提问来源于stack exchange,提问作者Costas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 10:20:21