小编Vla*_*dak的帖子

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#2.0驱动后计数

我有以下聚合pipline

var count = dbCollection.
Aggregate(new AggregateOptions { AllowDiskUse = true }).Match(query).
Group(groupby).
ToListAsync().Result.Count();
Run Code Online (Sandbox Code Playgroud)

这得到以下结果:

{
    "result" : [ 
        {
            "_id" : {
                "ProfileId" : ObjectId("55f6c727965bb016c81971ba")
            }
        }, 
        {
            "_id" : {
                "ProfileId" : ObjectId("55f6c727965bb016c81971bb")
            }
        }
    ],
    "ok" : 1
}
Run Code Online (Sandbox Code Playgroud)

但它似乎会在客户端进行计数操作,但如何执行呢MongoDb?我有MongoDb 2.0 C# driver&MongoDb v. 3.0.2

c# mongodb mongodb-csharp-2.0

9
推荐指数
1
解决办法
1856
查看次数

MongoDb c#官方驱动批量更新

如何通过使用IMongoCollection接口的新C#MongoDb驱动程序重写以下旧代码:

var bulk = dbCollection.InitializeUnorderedBulkOperation();
foreach (var profile in profiles)
{
   bulk.Find(Query.EQ("_id",profile.ID)).Upsert().Update(Update.Set("isDeleted", true));  
}

bulk.Execute();
Run Code Online (Sandbox Code Playgroud)

如何UpdateBuilder机制创建操作对我来说很清楚,但如何执行更新批量操作?

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

8
推荐指数
1
解决办法
5660
查看次数

MongoDb文本搜索不会返回结果

我有以下查询

db.Profiles.find({  "$text" : { "$search" : "vk" } })
Run Code Online (Sandbox Code Playgroud)

它给了我以下结果

{
    "_id" : ObjectId("55e999a5bd1f3926586799bb"),
    "created" : ISODate("2015-09-04T13:16:21.555Z"),
    "userId" : 4790,
    "email" : "vk@mydomain.com",
    "firstName" : "",
    "lastName" : "",
    "phoneNumber" : "",
    "isUnsubscribed" : false,
    "isAboveLimit" : true,
    "status" : 0,
    "userAgent" : 0,
    "isDeleted" : false,
    "p2l" : [ 
      {
            "listId" : 31613,
            "status" : 25,
            "subscriptionDate" : ISODate("2015-09-17T14:04:33.660Z")
        }
    ],
    "countryId" : 0,
    "cf" : []
}
Run Code Online (Sandbox Code Playgroud)

但以下情况并非如此

db.Profiles.find({  "$text" : { "$search" : "v" }})
Run Code Online (Sandbox Code Playgroud)

没有结果.

mongodb

6
推荐指数
1
解决办法
693
查看次数

更新数组mongodb c#driver中的字段

我尝试statusp2l数组更新对象的字段

var update = Builders<BsonDocument>.Update.Set("p2l.$.status",BsonValue.Create(status))
Run Code Online (Sandbox Code Playgroud)

似乎代码可以正常工作,但如何使用类型化构建器实现它并使用lambda设置所有字段?我通过以下链接找到了解决方案 如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

但它仅适用于旧版本的驱动程序.

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

5
推荐指数
1
解决办法
3777
查看次数

BSON 文档到 FilterDefinition&lt;Bson&gt; MongoDb c# 驱动程序

如何将 a 转换BsonDocumentFilterDefinition<BsonDocument>实例?

它是由新的 MongoDb C# 驱动程序提供的类。

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

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

MongoDb c#driver 2.0 BsonNull用法

isDeleted NullableProfile课堂上有财产.

Builders<Profile>.Filter.Eq(p => p.IsDeleted, BsonNull.Value)
Run Code Online (Sandbox Code Playgroud)

但是下面的代码引发了下一个编译错误:

Error 11    Cannot convert lambda expression to type 
'MongoDB.Driver.FieldDefinition<MongoDB.DataTypes.Profile,MongoDB.Bson.BsonNull>' 
because it is not a delegate type   
Run Code Online (Sandbox Code Playgroud)

如何实现空检查?

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

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

MongoDb c#2.0驱动程序AddToSet方法

我有以下代码实现MongoDb 2.0 c# driver.但我需要访问将插入的MailLists集合Profile.我p在构造函数中编写了预期的解决方案,但是如何通过多个操作实现它?

IMongoCollection<Profile> dbCollection = DetermineCollectionName<Profile>();

var filter = Builders<Profile>.Filter.In(x => x.ID, profiles.Select(x => x.ID));

var updateMl = Builders<Profile>.Update.AddToSet(p => p.MailLists, new Profile2MailList
                        {
                            MailListId = maillistId,
                            Status = p.MailLists.MergeMailListStatuses(),
                            SubscriptionDate = DateTime.UtcNow
                        });

dbCollection.UpdateManyAsync(filter, updateMl, new UpdateOptions { IsUpsert = true });
Run Code Online (Sandbox Code Playgroud)

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

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

十进制T-SQL到十进制C#

是否有可能得到一个T-SQL的转换一个潜在的问题decimal(30,8),以decimal在C#中?

c# t-sql sql-server decimal

0
推荐指数
1
解决办法
150
查看次数