我有一个不寻常的设置,即将数据从PHP站点插入到MongoDB中。数据然后由.NET读取并作为API提供。使用.NET插入到MongoDB中的数据读取数据使用PHP
插入记录(通过PHP)后,.NET API在尝试读取数据时会引发以下错误。
An error occurred while deserializing the Id property of class Project.ModelClass: Cannot deserialize Guid from BsonType ObjectId.
的代码做插件是:
$item = Item::create(array(
// fields
));
而且正在读取的模型类为有这样一个ID字段:
public Guid Id { get; set; }
的API将正确地成为了其他项目在从另一个数据源导入的同一个集合中。
我是否需要在PHP插入中做一些特殊的事情来允许将Id读取并反序列化到.NET模型类中?
任何帮助将不胜感激!
斯图尔特
您能告诉我们用PHP插入的MongoDB文档的样子吗? –
PHP插入的Id看起来像'ObjectId(“xxx ... xx”)',.NET看起来像'BinData(3,“xxxx ... xxx”)'。理想情况下,我想保持.NET的一样,并改变PHP的匹配。 – Stuart
你能举一个例子,说明PHP代码插入了哪些字段?从你的评论听起来你想要使用一个GUID作为文档的_id,但是你没有向我们展示PHP代码实际插入了哪些字段(它看起来像PHP代码插入一个ObjectId,而不是一个GUID)。 –