【发布时间】:2015-04-13 18:10:18
【问题描述】:
我的游戏有一个 REST 服务,并决定尝试 MongoDB - 除了“_id”字段要求之外,这似乎很简单。
这里的问题是我的客户端应用程序正在使用 REST 服务,并且不知道“mongodb”、它的驱动程序或依赖项——也不应该。为了将客户端与服务器端(REST 服务提供者)分离,我需要解决 MongoDB 似乎需要 BsonObjectId 类型的“_id”字段这一事实。
目前我使用的是轻量级 DAO 层,所以不用:
using System;
public class Item {
private BsonObjectId _id;
private string name;
}
我正在使用 DAO 将其转换为“mongodb 不可知论”:
using System;
public class ItemDAO {
private string _id;
private string name;
}
理想情况下,完全摆脱 BsonObjectId 会很好 - 是否有一些可以使用的注释/自定义序列化处理程序或者我能够使用字符串而不是 BsonObjectId 的某种方式?
如果做不到这一点,有什么方法可以让 MongoDB 包装对象,以便用 _id 装饰它们,我可以将其作为字符串注入行中?
理想的结果是根本没有 DAO 类,只有“Item”,并让 Item 使用字符串作为 _id(或不需要 mongodb 依赖项即可融入客户端实现的东西)。
【问题讨论】:
标签: mongodb