[英]C# and MongoDriver - How to get values from foreign collection (aggregate + lookup)?
[英]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.