标签: mongodb-.net-driver

获取MongoDB中插入文档的_id?

说我有产品清单.当我添加新产品时,我使用类似的东西保存它

var doc=products.Insert<ProductPDO>(p);
Run Code Online (Sandbox Code Playgroud)

问题是我想在完成此操作后将用户重定向到包含该产品的页面.所以我需要重定向说/products/<ObjectID>

但是,我认为没有办法在没有手动查询数据库的情况下正确获取ObjectID并查找具有所有相同字段等的文档.

有没有更简单的方法?(doc在这种情况下,由于某种原因返回null)

c# mongodb mongodb-.net-driver

28
推荐指数
3
解决办法
2万
查看次数

在ASP.Net MVC中管理MongoDB连接的正确方法是什么?

管理MongoServer类生命周期的最佳实践是什么?我应该创建一个并在每个请求结束时将其关闭,还是应该使用像StructureMap这样的应用程序将其保存为应用程序整个生命周期的单例?

任何帮助都很感激.

c# asp.net asp.net-mvc mongodb mongodb-.net-driver

27
推荐指数
2
解决办法
9357
查看次数

C#最成熟的MongoDB驱动程序是什么?

所以,有

  • MongoDB的-CSHARP
  • 简单的MongoDB
  • 规范

作为MongoDB的C#驱动程序可用.

哪一个是最成熟稳定的?你为什么选择其他两个呢?

他们生产准备好了吗?

c# mongodb norm mongodb-.net-driver

26
推荐指数
4
解决办法
8307
查看次数

使用C#创建MongoDB唯一键

我与MongoDB共计n00b,我正在努力创造一个独特的领域EmailAddress.我已经在论坛中看到我必须创建一个索引,但到目前为止它对我来说并没有用.有人有代码示例吗?我是否必须在每次保存/调用时创建索引,还是只创建一次?

我试过这段代码:

DB.GetCollection<User>(Dbname)
    .EnsureIndex(new IndexKeysBuilder()
        .Ascending("EmailAddress"), IndexOptions.SetUnique(true));

DB.GetCollection<User>(Dbname).Save(user, SafeMode.True);
Run Code Online (Sandbox Code Playgroud)

我的User模型看起来像这样:

public class User
{
    [Required(ErrorMessage = "Email Required")]
    public string EmailAddress { get; set; }

    public ObjectId Id { get; set; }

    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-.net-driver

26
推荐指数
4
解决办法
2万
查看次数

MongoDb c#driver按字段值查找数组中的项目

我发现检查的方法是在简单数组中包含的值:

var filter = Builders<Post>.Filter.AnyEq(x => x.Tags, "mongodb");
Run Code Online (Sandbox Code Playgroud)

但是如何通过具体领域找到包含许多字段的复杂项目?我找到了通过点符号方法用BsonDocument构建器编写它的方法,但是如何使用类型化的lambda符号呢?

UPD

我觉得它有点像

builderInst.AnyIn(p => p.ComplexCollection.Select(ml => ml.Id), mlIds)
Run Code Online (Sandbox Code Playgroud)

但现在无法检查,有人可以帮忙吗?

c# mongodb mongodb-csharp-2.0 mongodb-.net-driver

26
推荐指数
3
解决办法
3万
查看次数

我可以使用mongodb c#驱动程序进行文本查询

有没有办法将shell查询语法中表达的查询提交给mongo c#驱动程序

例如,像

Coll.find { "myrecs","$query : { x : 3, y : "abc" }, $orderby : { x : 1 } } ");
Run Code Online (Sandbox Code Playgroud)

以shell指南为例

c# mongodb mongodb-.net-driver

25
推荐指数
3
解决办法
3万
查看次数

如何妥善保存日期?

我正在尝试保存日期(使用C#官方驱动程序):

val = DateTime.Parse(value).Date; //Here date is {11/11/2011 12:00:00 AM}
var update = Update.Set("Date", val);
...
Run Code Online (Sandbox Code Playgroud)

当我从数据库中选择日期时,值为{11/10/2011 10:00:00 PM}

如何只保存我想要的日期?

mongodb mongodb-.net-driver

25
推荐指数
1
解决办法
2万
查看次数

如何使用MongoDB的官方C#驱动程序删除'ID'中的'文档'?

有人可以告诉我,如果有更好的方法document从使用官方C#驱动程序删除MongoDB 中的一个,而不是我以下 -

var query = Query.EQ("_id", a.Id);
database.GetCollection<Animal>("Animal").Remove(query);
Run Code Online (Sandbox Code Playgroud)

这段代码有效,但对我来说似乎太过分了.例如,"保存"命令需要一个实例并对其进行更新.我想要像 - Remove(item).

备注:我正在尝试使用C#的官方驱动程序,而不是看起来过时的NoRMSamus.

.net c# mongodb mongodb-.net-driver

25
推荐指数
3
解决办法
3万
查看次数

从MongoDB'集合'获取所有'文档'

我需要检索MongoDB中我的集合中的所有文档,但我无法弄清楚如何.我已经宣布我的'收藏'像这样 -

private static IMongoCollection<Project> SpeCollection = db.GetCollection<Project>("collection_Project");
Run Code Online (Sandbox Code Playgroud)

我遵循的是在解释这个 MongoDB的教程.我根据自己的需要调整了它,比如 -

 var documents = await SpeCollection.Find(new Project()).ToListAsync();
Run Code Online (Sandbox Code Playgroud)

但是,我一直有以下错误 -

MongoDB.Driver.IMongoCollection没有'Find'的定义和扩展方法[superlong stuff]的最佳覆盖.查找包含无效的参数.

.net c# mongodb mongodb-csharp-2.0 mongodb-.net-driver

25
推荐指数
3
解决办法
5万
查看次数

MongoDB C#查询字符串上的"Like"

我正在使用官方的mongodb c#驱动程序.我想查询mongodb simliar到SQL就像db.users.find({name:/Joe/}在c#driver中一样

mongodb mongodb-.net-driver

24
推荐指数
3
解决办法
3万
查看次数