gpt4 book ai didi

c# - MongoDb C# 驱动程序是否适用于 LINQ 和动态文档?

转载 作者:IT老高 更新时间:2023-10-28 12:30:52 24 4
gpt4 key购买 nike

我想知道我是否可以在未映射且完全动态的 mongo 文档上使用 LINQ。原因是我有持有未知键和值的 ITEM 聚合器。这就是为什么我首先选择 no-sql 解决方案的唯一原因,因为 EAV+SQL 似乎很慢而且矫枉过正。

我将超过 100 万个文档插入到我的 test 集合中,其中包含 one10 字段,其中包含随机数据。现在,我正在尝试将其取回并使用 native Mongo 查询,它当然可以工作。没有那么多使用LINQ。我在这里做错了吗?

错误

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Additional information: Input string was not in a correct format.

代码

private static List<BsonDocument> Get(string query)
{
var client = new MongoClient("mongodb://localhost");
var server = client.GetServer();
var db = server.GetDatabase("test");
var collection = db.GetCollection("items");
var collectionQuery = collection.AsQueryable();

var result = collection.Find(Query.EQ("Six", 7962)).ToList(); // THIS WORKS
//var result = collection.AsQueryable().Where(x => x["Six"] == 7962).ToList(); // ERROR

return result;
}

最佳答案

驱动程序当前不支持动态类型。这是它的jira票: https://jira.mongodb.org/browse/CSHARP-539

还有一篇有趣的帖子,介绍了一些可能的解决方法: http://roysvork.wordpress.com/2013/04/22/using-linq-to-query-loosely-typed-data-in-mongodb/

关于c# - MongoDb C# 驱动程序是否适用于 LINQ 和动态文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819229/

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