繁体   English   中英

C#MongoDriver查找

[英]C# MongoDriver Lookup

我正在尝试对我的mongo集合进行查找。

我有一个名为wishlists的集合和一个名为wishs的集合。

每个愿望都引用了称为wishlistId的愿望清单。

我正在尝试获取ID = userId的用户的所有愿望清单。

这是我的查询(wishlistService.GetAll()):

return this.collection.Aggregate().Match(Builders<WishlistModel>.Filter.Where(o => o.userId == userId)).Lookup("wishes", "_id", "wishlistId", "result").ToListAsync();

当我使用调试器查看结果时,它里面有正确的数据,但是当我尝试将其返回为Ok结果时,它将失败。

var userId = User.Identity.Name;
List<BsonDocument> wishlists = await this.wishlistsService.GetAll(userId);
return Ok(wishlists);

Angular http请求中的错误是:

GET http://127.0.0.1:5000/api/wishlists net :: ERR_INCOMPLETE_CHUNKED_ENCODING

这是我在查看愿望清单变量时在调试器中看到的内容。 在此处输入图片说明

我确定我在查询数据时做错了什么,但是我不确定.NET的新内容

经过一天的摆弄,Ive找到了正确的方法。

您必须为JsonSerializer设置严格模式。

var jsonWriterSettings = new MongoDB.Bson.IO.JsonWriterSettings { OutputMode = MongoDB.Bson.IO.JsonOutputMode.Strict };

然后序列化控制器中服务的结果。

return Ok(wishlists.ToJson(jsonWriterSettings));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM