小编Cri*_*scu的帖子

MongoDB:查询结果大小大于集合大小

我正在分析MongoDB数据源以检查其质量.我想知道每个文档是否包含属性time:所以我使用了这两个命令

> db.droppay.find().count();  
291822   
> db.droppay.find({time: {$exists : true}}).count()   
293525
Run Code Online (Sandbox Code Playgroud)

如何使用给定字段的元素多于整个集合中包含的元素?出了什么问题?我无法找到错误.如果有必要,我可以发布文件的预期结构.

Mongo Shell版本是1.8.3.Mongo Db版本是1.8.3.

提前致谢


这是文档条目的预期结构:

{
  "_id" : ObjectId("4e6729cc96babe974c710611"), 
  "action" : "send",
  "event" : "sent",
  "job_id" : "50a1b7ac-7482-4ad6-ba7d-853249d6a123",    
  "result_code" : "0",
  "sender" : "",
  "service" : "webcontents",
  "service_name" : "webcontents",
  "tariff" : "0",
  "time" : "2011-09-07 10:22:35",
  "timestamp" : "1315383755",
  "trace_id" : "372",
  "ts" : "2011-09-07 09:28:42"
}
Run Code Online (Sandbox Code Playgroud)

mongodb

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

如何使用Raven.Client.Lightweight删除RavenDB数据库

基于1.2 Raven Studio的方式并将代码移植到Windows控制台,我已经实现了我认为删除数据库(raven作为服务运行)的正确方法.

static class Program
{    
    static void Main(string[] args)
    {
        try
        {
            using (var store = new DocumentStore { ConnectionStringName = "RavenDB" }.Initialize())
            {

                var metadata = new RavenJObject();

                var factory = store.JsonRequestFactory;

                const string url = "http://localhost:8080/admin/databases/raven-products?hard-delete=true";

                var credentials = CredentialCache.DefaultCredentials;

                var convention = new DocumentConvention();

                var requestParams = new CreateHttpJsonRequestParams(store.DatabaseCommands, url, "DELETE", metadata, credentials, convention);

                var request = factory.CreateHttpJsonRequest(requestParams);

                request.ExecuteRequest();

            }

        }
        catch (Exception exception)
        {
            Console.WriteLine(exception);
        }

        Console.WriteLine("Press any key..");
        Console.ReadKey();

    }

}
Run Code Online (Sandbox Code Playgroud)

执行此代码时,会引发以下异常.

System.Net.WebException:远程服务器返回错误:(401)未经授权.在System.Net.HttpWebRequest.GetResponse()at …

ravendb

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

配置Build System以根据文件扩展名自动选择

我创建了一个新的Build System来运行GolfScript程序.定义如下:

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"]
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但每当我需要使用它然后将其切换回能够运行Ruby,Python等时,我必须手动将Build System从"Automatic"切换到"golfscript".

当我*.gs打开文件时,我想让我的Build System自动应用.

我已经阅读了一些 文档并且认为我可以使用选择器来实现这一点,所以我在现有配置中添加了一个选择器:

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"],
    "selector": "source.gs"
}
Run Code Online (Sandbox Code Playgroud)

在阅读了更多的文档/示例之后,我无法弄清楚如何告诉sublime选择器实际上是什么.

如何配置source.gs选择器以指向*.gs文件?

sublimetext sublimetext3

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

正则表达式选择多行

我有一个包含多行的文本文件。没有段落只有行。

我需要编写一个正则表达式来选择多行。

例子。

Quick Black Fox
Jumps over the lazy 
dog
Run Code Online (Sandbox Code Playgroud)

我需要搜索“结束”。如果发现“结束”,我必须从“快速”到“狗”中选择。这可能吗。

regex

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

任务并行库 - 了解所有任务何时完成

我使用任务并行库来启动一些任务,如下所示:

    public static void Main()
    {
        for (var i = 0; i < 10; i++)
        {
            var x = i;
            Task.Factory.StartNew(() => new WorkerClass(x).Do());
        }

        // (*) Here I'd like to wait for all tasks to finish
        Task.WaitAll(); 

        Console.WriteLine("Ready.");
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

问题是某些任务本身可以创建新任务.这是WorkerClass看起来像:

public class WorkerClass
{
    private static readonly NLog.Logger Log = NLog.LogManager.GetCurrentClassLogger();

    private readonly int _i;

    public WorkerClass(int i)
    {
        _i = i;
    }

    public void Do()
    {
        if (_i % 3 == 0)
            Task.Factory.StartNew(() => new …
Run Code Online (Sandbox Code Playgroud)

task-parallel-library c#-4.0

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

重定向以从另一个操作发布操作

我想从MVC3控制器中的另一个操作重定向到后期操作.我怎样才能做到这一点?

post action asp.net-mvc-3

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

MongoDB 连接超时 (Azure)

我有一个使用 MongoLab 插件托管在 Windows Azure 上的应用程序,我遇到了一个问题,即应用程序在我部署后运行良好,但是在几分钟不活动后,我收到一个数据库错误:

没有可用于使用 ReadPreference PRIMARY 查询的主副本集

在我重新启动相同模式返回的网站之前,此错误不会消失 - 直到错误返回几分钟后才能完美运行

我的基本应用代码:

mongoConnect(process.env.CUSTOMCONNSTR_MONGOLAB_URI, {
server: {
    auto_reconnect: true,
    socketOptions: {
        socketTimeoutMS: 120000,
        keepAlive: 1
    }
},
replSet: {
    socketOptions: {
        socketTimeoutMS: 120000,
        keepAlive: 1
    }
}
}).then(function (db) {
    //app configure ...

    http.createServer(app).listen(app.get('port'), function () {
        console.log("Express server listening on port " + app.get('port'));
    });
});
Run Code Online (Sandbox Code Playgroud)

*mongoConnect 是 mongoclient.connect 的一个简单的“promisified”函数

我知道这是最佳实践,我正在与数据库建立一个连接,然后为所有请求重用该数据库对象。通过阅读https://support.mongolab.com/entries/23009358-Handling-dropped-connections-on-Windows-Azure 之类的内容,我将 sockettimeouts 设置为 2 分钟,以防止任何防火墙过早杀死套接字并自动重新连接到true 所以它们重新连接,但是这两种设置都不能解决问题。

azure mongodb node.js

5
推荐指数
0
解决办法
1518
查看次数

在 MongoDB 中按 $geoWithin 地理空间查询排序

我正在尝试检索存储在我的数据库中的一堆多边形,并按半径对它们进行排序。所以我用一个简单的$geoWithin.

所以,没有排序的代码看起来像这样:

db.areas.find(
   {
       "geometry" : {
          "$geoWithin" : {
              "$geometry" : {
                    "type" : "Polygon",
                    "coordinates" : [ [ /** omissis: array of points **/ ] ] 
                }
            }
        }
    }).limit(10).explain();
Run Code Online (Sandbox Code Playgroud)

解释结果如下:

{
    "cursor" : "S2Cursor",
    "isMultiKey" : true,
    "n" : 10,
    "nscannedObjects" : 10,
    "nscanned" : 367,
    "nscannedObjectsAllPlans" : 10,
    "nscannedAllPlans" : 367,
    "scanAndOrder" : false,
    "indexOnly" : false,
    "nYields" : 0,
    "nChunkSkips" : 0,
    "millis" : 2,
    "indexBounds" : {

    },
    "nscanned" : 367,
    "matchTested" …
Run Code Online (Sandbox Code Playgroud)

sorting geospatial mongodb

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

如何在我的ASP.NET菜单中使用Bootstrap样式的BreadCrumb?

我是一名新的ASP.NET开发人员和Twitter Bootstrap的新用户.我试图在我的ASP.NET应用程序中有一个breadcrumb.我已经开发了它,但我正在尝试应用Twitter Breadcrumb的风格.将特定的CSS样式应用于ASP.NET Web表单控件实在太困难了.

那怎么办呢?

我的ASP.NET代码:

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
        <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"></asp:Menu>
        <asp:SiteMapPath ID="SiteMap1" runat="server" PathSeparator=" > " ParentLevelsDisplayed="1" 
            PathDirection="RootToCurrent" RenderCurrentNodeAsLink="false" ShowToolTips="true"></asp:SiteMapPath>
Run Code Online (Sandbox Code Playgroud)

Twitter Bootstrap样式的Breadcrumb:

<style>
        .breadcrumb
        {
            padding: 8px 15px;
            margin-bottom: 20px;
            list-style: none;
            background-color: #f5f5f5;
            border-radius: 4px;
        }

            .breadcrumb > li
            {
                display: inline-block;
            }

                .breadcrumb > li + li:before
                {
                    padding: 0 5px;
                    color: #cccccc;
                    content: "/\00a0";
                }

            .breadcrumb > .active
            {
                color: #999999;
            }
    </style>
Run Code Online (Sandbox Code Playgroud)

Fyi,在HTML中,Breadcrumb将被开发如下:

    <ol class="breadcrumb">
        <li><a href="#">Home</a></li>
        <li><a href="#">Library</a></li>
        <li class="active">Data</li>
    </ol>
Run Code Online (Sandbox Code Playgroud)

css c# asp.net twitter-bootstrap

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

将Linq-To-SQL列表导入MongoDB

我有一个非常简单的LinqToSql列表.

var list = DB.Where(c => c.Status.Equals("active")).Select(c => c.Name);
Run Code Online (Sandbox Code Playgroud)

我正在尝试将该列表导入MongoDB.这是我到目前为止所拥有的:

const string connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase database = server.GetDatabase("test");
var collection = database.GetCollection("salesppl");
collection.Insert(list);
Run Code Online (Sandbox Code Playgroud)

我也尝试过InsertBatch和Save,但没有运气.以下是我为每个错误消息:InsertBatch

BsonSerializationException:Serializer StringSerializer期望序列化选项类型为RepresentationSerializationOptions,而不是DocumentSerializationOptions.

插入

BsonSerializationException:Serializer EnumerableSerializer期望ArraySerializationOptions类型的序列化选项,而不是DocumentSerializationOptions.

保存

InvalidOperationException:Save只能用于具有Id的文档.

注意: 我认为这没有任何意义,但我通过LinqPad这样做.

那么,如何将此列表保存到MongoDb?

c# linq import mongodb linq-to-sql

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