首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >颤振mongo db对象id到字符串

颤振mongo db对象id到字符串
EN

Stack Overflow用户
提问于 2022-02-23 17:45:03
回答 1查看 786关注 0票数 1

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

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

问题是,id得到了mongo的所有语法,比如:ObjectId("62096f5cbbf77abdf2ee00e4"),我只希望"62096f5cbbf77abdf2ee00e4"有一个更干净的语法。

这有可能吗?

代码语言:javascript
复制
User.fromJson(Map<String, dynamic> json) : 
    id = json['_id'].toString(),
    name = json['name'].toString();

用解决方案编辑

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

EN

回答 1

Stack Overflow用户

发布于 2022-10-21 14:05:50

_id是ObjectId。

代码语言:javascript
复制
ObjectId objectId = collections.first['_id'];
  print("objectId: ${objectId.id}");
  print("oid: ${objectId.$oid}");
  print("dateTime: ${objectId.dateTime}");
  print("hashCode: ${objectId.hashCode}");

结果如下:

代码语言:javascript
复制
objectId: BsonBinary(62096f5cbbf77abdf2ee00e4)
oid: 62096f5cbbf77abdf2ee00e4
dateTime: 2022-10-21 00:00:00.000
hashCode: 123456789

你想要$oid。我想你可以改变这条线

代码语言:javascript
复制
id = json['_id'].toString(),

代码语言:javascript
复制
id = json['_id'].$oid.toString(),
//or
id = (json['_id'] as ObjectId).$oid.toString(),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71241748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档