gpt4 book ai didi

c# - 使用 mongodb C# 驱动程序映射投影结果

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:18 25 4
gpt4 key购买 nike

我需要将集合中的一些文档映射到简化文档。我可以在 mongo shell 中获得我需要的东西:

db.getCollection('items').aggregate([
{ "$project": {
"Team": "$TeamId",
"Marker": "$Properties.marker.Value"
}}
])

我需要使用 C# 驱动程序(版本 2.3.0)获得相同的结果;这个我试过了

var aggregation = m_database.GetCollection<BsonDocument>("items").Aggregate();
var projectionDefinition = new BsonDocument("$project", new BsonDocument
{
{ "Team", "$TeamId"},
{ "Marker", "$Properties.marker.Value" }
});

var query = aggregation.Project(projectionDefinition);
var result = await query.ToListAsync();

但我得到以下错误

Command aggregate failed: $expressions are not allowed at the top-level of $project

有人知道发生了什么事吗?

最佳答案

如果你调用 Project 你的 bson 中已经有 $project 了, 所以你只需简化你的 projectionDefinition:

var projectionDefinition = new BsonDocument
{
{ "Team", "$TeamId"},
{ "Marker", "$Properties.marker.Value" }
};

我个人的意见:我会避免使用纯 bson,MongoDB 驱动程序让您有可能使用您的 c# dto 类。

关于c# - 使用 mongodb C# 驱动程序映射投影结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42973960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com