问题标签 [mongodb-.net-driver]

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 回答
4850 浏览

c# - MongoDB GridFS 存储桶?

我使用 MongoDB C# Samus driver

MongoDB.GridFS.GridFile 类的构造函数之一具有参数“bucket”。当我在 Java中创建 GridFile 时,我无法设置这个“桶”。但是我可以在创建 GridFS 对象Java 文档时在 Java 中设置这个“桶” 。我很困惑!

我的问题:

什么是“桶”?为了什么?请告诉一些用例;)

0 投票
2 回答
2230 浏览

c# - 最好的 GridFS C# 驱动程序?

GridFS C#驱动的最佳实现是什么?你的经验是什么?

更新:

当我说“最好”时——我的意思是稳定性。

谢谢!!!

0 投票
2 回答
2030 浏览

mongodb - MongoDB for Windows C#.Net 应用程序

当我开始在 Windows Form C#.Net 应用程序中开发新产品时,我想将 Mongo DB 与它一起使用。

任何人都可以让我知道我可以将 MongoDB 数据库用于 Windows 窗体应用程序吗?如果是,那么报告(复杂报告)以及与它们的关系如何?

由于我是 MongoDB 的新手,我不知道将报告和关系集成到它。

请让我这样我可以更进一步并决定数据库的选择。

提前致谢。

0 投票
2 回答
1190 浏览

mongodb - 如果我使用 norm 或 csharp-mongodb 驱动程序,如何在 mongodb 中添加新字段

我有两个基于 mongodb 数据库的项目。一个项目使用 csharp-mongodb 和另一个 - norm 驱动程序。

我只使用 GetCollection 等通用方法向我的数据库发出请求。如何以不那么痛苦的方式向我的实体添加新字段?

例如,一开始我有

几天后我决定添加新字段

我只看到一种方法-制作实用程序,它可以获取我的实体,然后将其反序列化并转换为新类型,然后序列化为 bson。至于我——这很难——因为我有超过 100 万条记录。

我知道 csharp mongodb 驱动程序有能力使用文档网:)

0 投票
2 回答
673 浏览

mongodb - 使用 NoRM for MongoDB 中的 HiLoIdGenerator 创建唯一标识符

我一直在努力使用 NoRM ( http://normproject.org/ )附带的 HiLoIdGenerator ;我想用它来生成一个唯一标识符,我可以将它用作我的博客文章的 SLUG。目前,我使用 ObjectId 来唯一标识 MongoDB 中的文档,但由于这类似于 GUID,并且在 URL 中看起来不太好,我更喜欢使用类似 www.myblog.com/posts/1243 和所以这就是我决定使用 HiLoIdGenerator 的原因。

我想在客户端生成我的 HiLo id,我在 stuart harris 的博客http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM上阅读.aspxNoRM 的新 HiLo Id 生成器也允许这样做,方法是为客户端会话分配一个整数范围,可以不受惩罚地使用(其他客户端将使用不同的范围)但是当我打开 HiLoIdGenerator 时,它说 HiLoIdGenerator类使用 HILO 算法生成一个新的标识值。在您的项目中只应使用此类的一个实例

我真的有三个问题:

1) 如果我的应用程序中有多个 HiLoIdGenerator 实例(假设我的服务类中有一个实例,它为每个新文档调用 GenerateId),我实际上可以保证我的所有 id 都是唯一的,因为代码HiLoIdGenerator 类说应用程序中应该只有这个类的一个实例?

2) HiLoIdGenerator 构造函数接受一个容量参数,我想知道它的作用,我传递了 0 并且所有生成的 Id 都是相同的,然后我传递了 1 个新的 HiLoIdGenerator(1) Id 从 1 开始并且是加 1;我不太了解它的作用,但我假设它与生成器可以生成的一系列潜在值有关,但我不确定,我想成为。有人可以解释这个论点吗?

3) 我想我理解 HiLo 算法的目的,如此处所述什么是 Hi/Lo 算法?但我不明白的是我是否可以有两个不同的应用程序的 MongoDB 实例,每个应用程序都查看 MongoDB 的不同实例但都包含相同的集合类型,生成的 id 是否是全局唯一的,即,我可以使用它们我想要一个 GUID 的方式,或者它们只是在给定的 MongoDB 实例中是唯一的,因此排除了以后将两个集合合并到一个 MongoDB 实例中?

谢谢

0 投票
1 回答
8142 浏览

c# - 使用官方 C# 驱动程序更新 MongoDB 中的嵌入式文档

如果我有一个包含嵌入式部门的公司集合:

使用官方 10gen C# 驱动程序时,保存/更新整个 Division 的最佳方法是什么?(最新的 0.9 版本。)

我正在使用 Update.AddToSetWrapped 添加部门,这很好,但我也希望能够根据他们的 _id 更新文档。

例如,如果我定义以下 Update 方法:

并这样称呼它:

然后将一个新的 Division 实例添加到集合中,因为虽然“_id”仍然为 1,但 Name 不同,因此它是唯一的文档。

那么有什么好方法可以更新整个嵌入文档呢?

在我想出更好的解决方案之前,我将首先$pull使用原始分区,然后$addToSet使用修改后的分区。这可行,但显然并不理想,因为它执行两个单独的更新。

0 投票
2 回答
414 浏览

c# - 精确包含子集合上的匹配

使用带有 NoRM 驱动程序的 mongodb 我有这个文档:

我正在查询:

其中 showNames 是一个字符串 [] 包含类似 {"House", "Glee", "30 Rock"}

我的结果包含模糊匹配。例如,术语“House”返回每个带有标题的节目,其中包含单词 House(就像它在做 Contains 一样)。

我想要的是直接匹配。因此,如果 document.Titles 包含“A big blue House”,它不会返回匹配项。仅当 Titles.Description 包含“House”时,我才会想要匹配。

0 投票
1 回答
1203 浏览

mongodb - 无法使用 MongoDBRef 枚举对象

我有一个名为 Products 的集合,我正在尝试使用官方 mongo-csharp 驱动程序进行枚举。但是,一旦我尝试枚举集合(例如使用 foreach 循环),我就会收到以下错误。

“找不到类型 MongoDB.Driver.MongoDBRef 的默认构造函数”

实体类看起来像这样

集合中的条目如下所示

我正在像这样阅读它。

在执行以下任一操作之前,我不会收到错误消息。

或者

0 投票
11 回答
43153 浏览

c# - MongoDB 和 C#:不区分大小写的搜索

我正在使用MongoDB和 MongoDB 的C# 驱动程序

我最近发现 MongoDB 中的所有查询都是区分大小写的。如何进行不区分大小写的搜索?

我找到了一种方法来做到这一点:

0 投票
1 回答
544 浏览

c# - DbReference 与自定义 MongoIdentifier (MongoDB & NoRM)

我是一个新的 Mongo 用户(甚至不习惯这个名字......每次都让我发笑),我有这个问题(感觉 mongo)。

我有一个“用户”类,MongoIdentifier 定义如下:

在另一个类“角色”中,我有一个DbReference看起来像这样的:

这编译得很好,但是当我尝试像这样设置 Creator 时:

我收到以下错误:

System.FormatException:找不到任何可识别的数字。

任何想法为什么?

谢谢