【问题标题】:Flutter mongo db object id to stringFlutter mongodb objectid 到字符串
【发布时间】:2022-10-21 22:05:50
【问题描述】:

我正在使用 Flutter 和 MongoDB 构建应用程序。有一件事我不明白。

当我检索用户数据时,我通过将Map<String, dynamic>? 变量传递给函数fromJson 来设置我的对象。

问题是 id 正在获取 mongo 的所有语法,例如:ObjectId("62096f5cbbf77abdf2ee00e4") 而我只希望 "62096f5cbbf77abdf2ee00e4" 具有更清晰的语法。

那可能吗?

User.fromJson(Map<String, dynamic> json) : 
    id = json['_id'].toString(),
    name = json['name'].toString();

用解决方案编辑

我认为最好的解决方案是使用来自 mongo_dart ObjectId 的自定义类型来保存 id。

【问题讨论】:

  • 您还可以将 ID 子串出来,例如:id.substring(10, id.length - 2)),它为您提供 '62096f5cbbf77abdf2ee00e4'
  • 是的,但我认为最好使用 ObjectId 类型,因为 mongo_dart 提供了它。这样代码就被优化了。
  • 是的-我同意;只是在您无权访问后端以对其进行更改的情况下,但如果您确实这样做了。

标签: mongodb flutter dart objectid


【解决方案1】:

_id 是 ObjectId。 你可以试试

ObjectId objectId = collections.first['_id'];
  print("objectId: ${objectId.id}");
  print("oid: ${objectId.$oid}");
  print("dateTime: ${objectId.dateTime}");
  print("hashCode: ${objectId.hashCode}");

我认为您可以使用objectId.$oid.toString() 获得结果。

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 2016-07-03
    • 2022-01-02
    • 2018-06-25
    • 2011-12-11
    相关资源
    最近更新 更多