mongodb 的ID转换实体要注意的地方

时间:2021-10-12 03:47:26

如果按照正常的实体映射,要这么写:

[BsonId]

public ObjectId _Id { get; set; }

 

这里的 ObjectId 不能直接tostring,返回结果是这样的对象:

 "_Id": {
                "timestamp": 1577944213,
                "machine": 2842112,
                "pid": 9,
                "increment": 12981,
                "creationTime": "2020-01-02T05:50:13Z"
            },

但是实际上希望得到的是一个字符串,所以实体要这么改造一下:

        [BsonId]
        [BsonRepresentation(BsonType.ObjectId)]
        public string _Id { get; set; }

返回结果就可以是:

          "_Id": "5e0d84952b5e0000090032b5",

任务完成