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

同时运行React Native-MongoDB应用时iPhone出现MongoDB查询BSONError异常

React Native Expo应用多设备运行时iPhone端传递空ID引发MongoDB BSONError

问题场景

我开发的React Native应用基于Expo Go运行:

  • 单独在iPad上运行时,可正常通过axios调用后端接口从MongoDB查询数据
  • 同时在iPad和同版本iOS的iPhone上运行时,iPhone端会导致后端抛出BSONError,错误提示传入的参数不符合MongoDB ObjectId的格式要求
  • 排查发现iPhone端本地打印lastMessage值正确,但实际传递给后端的是空字符串

相关代码

前端axios请求代码

axios.post('http://192.168.0.224:8000/findMessage', {lastMessageId: lastMessage})

后端MongoDB查询代码

messages.find({_id: req.body.lastMessageId}, {message: 1})

后端错误信息

'reason: BSONError: Argument passed in must be a string of 12 bytes or a string of 24 hex characters or an integer'

已尝试的解决措施

  • 重装Expo Go
  • 执行npm start --reset-cache重置服务器缓存

以上操作均未解决问题,恳请帮忙分析原因及提供解决办法。

内容的提问来源于stack exchange,提问作者Peter Double U

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:10:14