当前位置: 首页 > 知识库问答 >
问题:

如何通过?网

宣煜
2023-03-14

我已经使用MongoDB C#驱动程序以编程方式创建了一个新的文档集合。

现在,我想以编程方式创建和构建索引。我该怎么做呢?

共有3个答案

麹权
2023-03-14

当前接受的答案中的<code>CreateOneAsync

static async Task CreateIndex(string connectionString)
{
    var client = new MongoClient(connectionString);
    var database = client.GetDatabase("HamsterSchool");
    var collection = database.GetCollection<Hamster>("Hamsters");
    var indexOptions = new CreateIndexOptions();
    var indexKeys = Builders<Hamster>.IndexKeys.Ascending(hamster => hamster.Name);
    var indexModel = new CreateIndexModel<Hamster>(indexKeys, indexOptions);
    await collection.Indexes.CreateOneAsync(indexModel);
}
穆俊名
2023-03-14

您应该使用< code>CreateIndex,因为< code>EnsureIndex已被标记为过时,以便将来与< code>MongoDB的下一版本兼容:

var client = new MongoClient("mongodb://localhost");
var db = client.GetServer().GetDatabase("db");
var collection = db.GetCollection<Hamster>("Hamsters");

collection.CreateIndex(IndexKeys<Hamster>.Ascending(_ => _.Name));
颛孙天宇
2023-03-14

从驱动程序的v2.0开始,有一个新的<code>异步-only API。旧API不应再使用,因为它是新API上的一个阻塞门面,不推荐使用。

目前推荐的创建索引的方法是调用并等待使用索引进行创建一同步定义,方法是使用生成器.IndexKeys 获得的定义

static async Task CreateIndexAsync()
{
    var client = new MongoClient();
    var database = client.GetDatabase("HamsterSchool");
    var collection = database.GetCollection<Hamster>("Hamsters");
    var indexKeysDefinition = Builders<Hamster>.IndexKeys.Ascending(hamster => hamster.Name);
    await collection.Indexes.CreateOneAsync(new CreateIndexModel<Hamster>(indexKeysDefinition));
}
 类似资料:
  • 问题内容: 我正在考虑AJAX应用程序必须轮询轮询更新有多大限制,而最理想的是javascript能够建立与服务器的真正双向连接。我想知道是否存在将javascript与可以建立tcp连接的浏览器插件集成的方法,以便可以将数据传入和传出浏览器插件。 问题答案: 这是具有类似方法的实现: 套接字 它使用Java Applet,并将其API桥接到JavaScript,有趣的是… 这里是另一个: 套接字

  • 问题内容: 我试图确定如何访问JObject中的数据,但我终生无法确定如何使用它。 我可以将其打印到执行Console.WriteLine(Object)的控制台中,然后看到数据,它看起来像: 但是我不知道如何迭代/枚举它,任何人都有想法吗?我现在很茫然。 问题答案: 如果您查看相关文档,将会发现它实现了。因此,您可以使用以下命令简单地对其进行迭代:

  • 问题内容: 我的机器在端口8080上运行着jboss,我想在网络上共享jboss服务器,以便我使用jbossws- native-4.0.2运行jboss服务,但是我仍然无法访问网络上的jboss服务器,请帮助。 问题答案: 启动jboss(run.sh或run.bat)时使用选项-b 0.0.0.0,这会将端口绑定到所有网络接口。默认值为localhost,这就是为什么您无法通过网络访问服务器的

  • 问题内容: 我有一个像这样的数组: 现在,我想按某种条件过滤该数组,只保留值等于2的元素,并删除值不等于2的所有元素。 所以我的预期结果数组将是: 注意:我想保留原始数组中的键。 如何使用PHP做到这一点?有内置功能吗? 问题答案:

  • 问题内容: 我正在使用使用build.xml文件的ant。这是命令: Java版本:1.8.0蚂蚁版本:1.7.1 它挂在这里: 我收到连接超时错误: Ant还调用了从maven存储库中获取一些文件的方法,build.xml文件的一部分是这样的: 我将这些行放入build.xml文件中: 仍然与Maven进行蚂蚁连接,以通过http挂起获取一些jar文件。我这样做对吗?谢谢。 问题答案: 您正在混

  • 问题内容: 我有两个域,是一对多关系中的一部分。我想知道如何查询孩​​子的父母FK吗?贝娄是父母/孩子的伪代码 上级: 儿童: 尽管我没有明确创建FK,但是grails会自行创建MySQL数据库。但是,当我想像这样通过FK查询孩子时: 我收到一个错误:找不到类[class mgr.AlumLanguage]的名称[alumProfileId]的属性 关于如何做到这一点的任何建议? 谢谢杰森 问题答