我正在分析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) 基于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 …
我创建了一个新的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文件?
我有一个包含多行的文本文件。没有段落只有行。
我需要编写一个正则表达式来选择多行。
例子。
Quick Black Fox
Jumps over the lazy
dog
Run Code Online (Sandbox Code Playgroud)
我需要搜索“结束”。如果发现“结束”,我必须从“快速”到“狗”中选择。这可能吗。
我使用任务并行库来启动一些任务,如下所示:
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) 我有一个使用 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 所以它们重新连接,但是这两种设置都不能解决问题。
我正在尝试检索存储在我的数据库中的一堆多边形,并按半径对它们进行排序。所以我用一个简单的$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) 我是一名新的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) 我有一个非常简单的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?
mongodb ×4
c# ×2
action ×1
asp.net ×1
azure ×1
c#-4.0 ×1
css ×1
geospatial ×1
import ×1
linq ×1
linq-to-sql ×1
node.js ×1
post ×1
ravendb ×1
regex ×1
sorting ×1
sublimetext ×1
sublimetext3 ×1