问题标签 [mongodb-csharp-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
718 浏览

c# - MongoDb使用索引替代c#通过正则表达式查找文档

我有以下查询

但我知道MongoDb不能在regex查询中使用索引。是否可以实现使用索引的替代方案?此外,我有许多可以实现的正则表达式,例如。按字符串的开头和结尾、字符串包含等搜索。

我用MongoDb v 3.0.2&Official c# driver v 2.0

0 投票
1 回答
1478 浏览

c# - 如何使用 c# 驱动程序为针对 mongo 的单个查询设置 readPreference

我有一个应用程序使用许多不同的 mongo 数据库,并且 99% 的时间它需要从副本集的主数据库中读取,但是我有几个报告查询会拉回大量数据并且没有被索引覆盖,我希望他们与次要竞争。有没有办法为单个查询指定它应该具有次要读取首选项。我想避免有更多的连接字符串,因为我在应用程序中已经有近十几个。

0 投票
1 回答
10760 浏览

c# - MongoDB C# 驱动程序 2.0 InsertManyAsync 与 BulkWriteAsync

我必须使用新的 C# 2.0 驱动程序在 MongoDB 集合中插入许多文档。是使用其中一个collection.InsertManyAsync(...) 还是collection.BulkWriteAsync(...)有什么不同?(特别是关于性能)。

根据我从 MongoDB 文档中了解到的情况,带有文档数组的插入应该是后台的批量操作。那是对的吗?

谢谢你的帮助。

0 投票
1 回答
1208 浏览

c# - 在 C# 上开始使用 MongoDB - 查询不起作用

我从 C# 上的 MongoDb 开始。最后,我需要一个简单地检查用户是否存在于数据库中的函数——就是这样。我是一个完整的初学者,所以自然而然地从 MongoDb 教程中的示例不起作用这里是示例:

或者

这些功能有什么问题?或者我应该怎么称呼他们?因为现在它会引发超时。这可以在没有异步/等待的情况下完成吗?我想我不需要它

0 投票
3 回答
9238 浏览

c# - 将 MongoDB BsonTimestamp 转换为 C# DateTime

将 BsonTimestamp 字段转换为 C# DateTime 类型的正确方法是什么?

这适用于 MongoDB 的 oplog 集合中的数据并使用 MongoDB C# 驱动程序。

0 投票
1 回答
1319 浏览

c# - 如何在 MongoDB 中为不同的字段名称注册 ScalarDiscriminatorConvention?

我正在编写 C# 代码以从现有的 MongoDB 数据库中提取数据并将其放入各种 C# 类中。数据库的一部分是多态的:如果字段type是 A,那么该文档中将存在一组特定的字段。如果type是 B,则将存在一组不同的字段。这是 的完美用例ScalarDiscriminatorConvention,所以我使用ScalarDiscriminatorConvention("type"). 但我不知道如何让 MongoDB 驱动程序使用该约定!

关于约定的 MongoDB 手册页让我认为这会起作用:

但这失败了,因为不像其他约定那样ScalarDiscriminatorConvention从接口派生。IConvention它派生自IDiscriminatorConvention,这是它自己的接口,不派生自IConvention。并ConventionPack.Add期望一个IConvention参数。

那么如何注册不同的鉴别器字段呢?我已经通过 MongoDB 手册搜索了至少一个小时,但我很茫然。他们似乎没有在我能找到的任何地方记录它。

0 投票
0 回答
2083 浏览

c# - 无法将“MongoDB.Bson.BsonString”类型的对象转换为“MongoDB.Bson.BsonBoolean”类型

我收到一个错误:“无法将 'MongoDB.Bson.BsonString' 类型的对象转换为 'MongoDB.Bson.BsonBoolean' 类型。”

这是代码1:

这是使用不同方法的代码 2:

我正在使用 MongoCSharpDriver v2.1。有人可以帮忙吗?

0 投票
0 回答
333 浏览

mongodb - 为什么在使用 Mongodb C# 驱动程序时没有加载我的嵌入式文档集合?

我有一个简单的类,其中包含一组文档。C# 对象和映射如下。

由于某种原因,当我找到用户时,MongoDB 驱动程序没有返回嵌入的文档集合。我可以使用 AddToSet 和 Pull 编辑集合。

我也不明白为什么我需要显式映射 Groups 属性。我以为只要我打电话就行了cm.AutoMap()

这是我用来加载用户的代码......

我尝试为 groups 属性添加显式包含投影,但导致我删除了所有其他属性并且仍然有一个空集合。

这是上课...

还有映射...

和数据库中的 json ......

编辑:我刚刚尝试将它作为字符串列表,但它仍然没有返回结果。我还删除了显式映射,它引发了异常。 Element 'Groups' does not match any field or property of class AssetStream.Model.Admin.User. 啊,我敢打赌这是因为没有公共二传手。

0 投票
2 回答
5611 浏览

c# - 如何在 MongoDB .Net 中插入文档?

我正在添加一个UpdateCustomer方法,将修改后的客户传递到数据库中。ReplaceOneAsync但是我在调​​用更新的文档时遇到了一个错误。

我已经查阅了以下示例api 参考,它们都表示要传递ReplaceOneAsyncafilterdocument参数。

但是具体的错误是因为参数不正确而抛出的,如下所述:

有人对理解错误有任何提示吗?

UpdateCustomer方法:

以及相关的 StartConnection 方法:

0 投票
4 回答
16894 浏览

c# - MongoDB c# 驱动程序使用 upsert 和 updateMany

在 MongoDB c# 驱动程序(2.0+)中,我们可以在执行和 updateManyAsync 时执行 upsert 吗?这个例子对 UpdateOne 有帮助,但我正在寻找适用于 updateMany 的东西。