标签: mongodb-.net-driver

将BSON数组添加到MongoDB中的BsonDocument

如何使用C#驱动程序将BsonArray添加到MongoDB中的BsonDocument?我想要一个像这样的结果

{ 
    author: 'joe',
    title : 'Yet another blog post',
    text : 'Here is the text...',
    tags : [ 'example', 'joe' ],
    comments : [ { author: 'jim', comment: 'I disagree' },
                 { author: 'nancy', comment: 'Good post' }
    ]
} 
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-.net-driver

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

在.NET 4中是否有mongodb C#驱动程序支持System.Dynamic.DynamicObject?

我正在开发一个使用.NET Razor和mongodb的项目.我想做这样的事情:

@{
    var feeds = DP.Database.GetCollection("feeds").FindAll();
}
<ul>
    @foreach (dynamic feed in feeds)
    {
        <li>@feed.message - @feed.from.name</li>
    }
</ul>
Run Code Online (Sandbox Code Playgroud)

但是,当前的mongodb C#驱动程序FindAll()返回不支持动态对象的BsonDocument集合.有人知道.NET 4动态支持的mongodb C#驱动程序吗?

非常感谢

mongodb dynamicobject c#-4.0 mongodb-.net-driver

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

元素'Id'与类的任何字段或属性都不匹配

我从Mongo的集合中得到了结果,结构与此相同

[DataContract]
public class Father
{
    [BsonId]
    [DataMember]
    public MongoDB.Bson.ObjectId _id { get; set; }

    [DataMember]
    public string Id { get; set; }

    [DataMember]
    public List<Child> childs { get; set; }
}

[DataContract]
public class Child
{
    [DataMember]
    public string Id { get; set; }

    [DataMember]
    public int Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个:

List<Father> f = result.ToList();
Run Code Online (Sandbox Code Playgroud)

它叫 Element 'Id' does not match any field or property of the class Model.Child

我认为它只是把'Id'作为别的东西.

我怎么处理它?谢谢

mongodb mongodb-.net-driver

17
推荐指数
5
解决办法
2万
查看次数

IAsyncCursor如何用于使用mongodb c#驱动程序进行迭代?

我正在尝试获取服务器中所有数据库的列表,并最终将它们打印出来(即使用它们的名称作为strings).使用以前版本的c#驱动程序,我可以调用它Server.GetDatabases(),但已被替换为ListDatabasesAsync().

返回值是一个IAsyncCursor<>,我不知道如何处理它.如何用这样的游标遍历数据库列表(或任何东西)?

.net c# mongodb async-await mongodb-.net-driver

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

将FilterDefinition <TDocument>转换为我可以在mongo shell中运行的常规json mongo查询

我有很多复杂的查询,我有时希望直接检查Mongo以进行调试\ explain().使用较新的2.0+ c#驱动程序,我不知道该怎么做.在以前的版本中有一个叫做的东西IMongoQuery,这个有用.

一个简单的例子:

FilterDefinition<LalalaEvent> filter = Builders<LalalaEvent>.Filter
    .Where(e => ids.Contains(e.Id) && e.Deleted != true );
Run Code Online (Sandbox Code Playgroud)

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

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

MongoDB如何检查是否存在

我想知道如何使用mongoDB和C#检查对象的存在.

我找到了一种方法,但是由于Any()方法,我不得不使用Linq,但是我想知道如果没有Linq可以做到这一点吗?

database.GetCollection<ApplicationViewModel>("Applications").Find(Query.EQ("Name", applicationName)).Any()
Run Code Online (Sandbox Code Playgroud)

多谢你们!

.net c# mongodb mongodb-.net-driver

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

在Mongo DB中升级和Id问题

使用官方C#驱动程序向mongo db上传时遇到问题.

public abstract class AggregateRoot
{
    /// <summary>
    /// All mongoDb documents must have an id, we specify it here
    /// </summary>
    protected AggregateRoot()
    {
        Id = ObjectId.GenerateNewId();
    }

    [BsonId]
    public ObjectId Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的实体已经拥有了id-s但我必须创建mongo特定的ID才能工作,因为集合中的所有文档都应该有一个.现在我在我的系统中收到一个新的实体,生成一个新的Mongo Id,我得到的mongo无法更改文件旧异常的_id.有一些解决方法吗?

让我来描述一下设计.将作为文档存储的所有实体都继承自AggregateRoot,其中包含id生成.每个子文档都自动生成了id,我对此没有任何问题.引入AggregateRoot中的id是为了在从MongoCollection到List检索数据时纠正问题,并且引入了生成,因此id-s不同.现在我们可以移动id生成来保存方法,因为更新的新实体有一个新的id生成.但这意味着团队中的每个开发人员都不能忘记在存储库中生成id-s,这是有风险的.如果可能的话,忽略id而不是从mongo映射会更好,而根本就没有AggregateRoot类

c# mongodb mongodb-.net-driver

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

如何将SafeMode与MongoDB C#驱动程序一起使用

我发现官方MongoDB C#驱动程序的一些方法使用SafeMode并返回SafeModeResult.这是什么SafeMode以及如何使用它?很高兴看到一些用例 - 例如,一个用例的RemoveAll方法MongoCollection.

mongodb mongodb-.net-driver

15
推荐指数
2
解决办法
7300
查看次数

将MongoDB BsonDocument转换为字符串

如何将整个MongoDB BsonDocument转换为字符串?

(我正在使用官方的C#驱动程序)

serialization document mongodb mongodb-.net-driver

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

如何使用c#2.0驱动程序将数据插入mongodb集合?

  1. 我正在使用MongoClient我的c#console应用程序连接到MongoDB

https://github.com/mongodb/mongo-csharp-driver/releases/tag/v2.0.0-rc0

  1. 我的代码

      class Program
       {
           static void Main(string[] args)
           {
            const string connectionString = "mongodb://localhost:27017";
    
            // Create a MongoClient object by using the connection string
            var client = new MongoClient(connectionString);
    
            //Use the MongoClient to access the server
            var database = client.GetDatabase("test");
    
            var collection = database.GetCollection<Entity>("entities");
    
            var entity = new Entity { Name = "Tom" };
            collection.InsertOneAsync(entity);
            var id = entity._id;          
        }
    }
    
    public class Entity
    {
        public ObjectId _id { get; set; }
        public string Name { …
    Run Code Online (Sandbox Code Playgroud)

.net c# mongodb mongodb-.net-driver

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