小编Snæ*_*ørn的帖子

_id:ObjectID和String之间有什么区别?

有什么区别:

{
   _id: ObjectId("507f191e810c19729de860ea")
}
Run Code Online (Sandbox Code Playgroud)

{
   _id: "507f191e810c19729de860ea"
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到任何关于此事的内容.

它让我感到困惑,因为当你使用JavaScript插入它时,它将使用这种ObjectId("507f191e810c19729de860ea")格式.但是如果你使用C#驱动程序,它将使用该"507f191e810c19729de860ea"格式.

字符串格式似乎是更好的选择,因为它使用更少的空间.

mongodb

7
推荐指数
1
解决办法
5759
查看次数

在 EditorConfig 中关闭 C# 变量丢弃

当在 VSCode 中格式化和自动修复 C# 文件中的“linting”错误时,它似乎丢弃了我未使用的变量。基本上它放在_ =一切的前面。

它这样做是因为csharp_style_unused_value_assignment_preference = discard_variable这是默认的。 https://learn.microsoft.com/da-dk/dotnet/fundamentals/code-analysis/style-rules/ide0059#csharp_style_unused_value_assignment_preference

// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    _ = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    var unused = wordCount.TryGetValue(searchWord, out var count);
    return count;
}
Run Code Online (Sandbox Code Playgroud)

那很整齐。但我该如何关闭它呢?因此,当我在 VSCode 中对 C# 文件应用格式时,它不会添加_ =.

我的 VSCode 设置:

{
  "settings": {
    "[csharp]": {
      "editor.defaultFormatter": "csharpier.csharpier-vscode",
      "editor.codeActionsOnSave": {
        "source.fixAll.csharp": true
      }
    },
    "omnisharp.enableEditorConfigSupport": …
Run Code Online (Sandbox Code Playgroud)

c# static-analysis omnisharp visual-studio-code editorconfig

7
推荐指数
1
解决办法
2393
查看次数

在A∩B条件下加入表格

我希望基于参与连接的所有表中存在的一组列来连接两个(或更多)表.换句话说,我希望基于交集列连接表.但是,每个表都有额外的列,这些列对于该表是唯一的.

交叉点设置

#:数字
-:NULL

表A.

+------+------+------+
| Col1 | Col2 | ColA |
+------+------+------+
| A    | A    | #    |
| A    | B    | #    |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)

表B.

+------+------+------+
| Col1 | Col2 | ColB |
+------+------+------+
| A    | A    | #    |
| B    | B    | #    |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)

结果

+------+------+------+------+
| Col1 | Col2 | ColA | ColB |
+------+------+------+------+
| A    | A    | #    | #    |
| A    | …
Run Code Online (Sandbox Code Playgroud)

sql-server

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

基本的Waypoint用法

我正在尝试将jQuery 的Waypoints插件用于网页上的延迟加载元素.但是我无法让它发挥作用.:(

我做了一个非常基本的例子:http://jsfiddle.net/P3XnN/2/

根据Waypoints文档,我需要做的是以下内容.

JS:

$('#waypoint').waypoint(function() {
   alert('You have scrolled to my waypoint.');
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<div style="height: 500px">Scroll down</div>
<div id="waypoint">Waypoint</div>
Run Code Online (Sandbox Code Playgroud)

但它显然并不那么简单.请帮忙.

jquery lazy-loading jquery-plugins

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

在Internet Explorer中使用自动对焦时,模式中的奇怪光标位置

在IE中使用自动对焦时,我遇到光标放置问题.图像应清楚地显示问题.

fubar光标放置

幸运的是,我已经能够在一个plunker中重现这一点.我已经把它剥离到了必需品,所以应该很容易看到发生了什么.

我如何使IE表现?

AngularJS(也可用于plunker)

app.directive('autofocus', [
  '$timeout', function($timeout) {
      return function(scope, elem, attr) {
          scope.$on('autofocus', function(e) {
              $timeout(function() {
                  elem[0].focus();
              });
          });
      };
  }
]);

/* http://stackoverflow.com/questions/14833326/how-to-set-focus-in-angularjs */
app.factory('autofocus', ['$rootScope', '$timeout', function($rootScope, $timeout) {
  return function() {
      $timeout(function() {
          $rootScope.$broadcast('autofocus');
      });
  };
}]);

app.config(['$stateProvider', function ($stateProvider) {
    $stateProvider.state('main', {
        url: '/main'
    });
}]);

app.config(['$stateProvider', function ($stateProvider) {
    $stateProvider.state('main.modal', {
        url: '/modal',
        onEnter: ['$state', '$stateParams', '$modal', 'autofocus',
            function ($state, $stateParams, $modal, autofocus) {
                var …
Run Code Online (Sandbox Code Playgroud)

html5 internet-explorer modal-dialog angularjs angular-ui-bootstrap

6
推荐指数
2
解决办法
2294
查看次数

更新缓存的模板

我利用templateUrl它,效果很棒!

app.directive('myDir', function() {
    return {
        templateUrl: 'partials/directives/template.html'
    };
};
Run Code Online (Sandbox Code Playgroud)

但是......当我对这些模板进行更改时,它不会更新.在开发过程中,这不是一个大问题,因为我知道更新了什么,可以手动清除缓存.

但我无法清除所有用户的缓存.有没有办法做到这一点?喜欢使用CACHE-CONTROL metatag或类似的东西?

caching browser-cache angularjs angularjs-directive angular-template

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

应用Distinct到OData查询

我想从OData端点获取不同值的列表.但不支持distinct或group by.

我的URI查询看起来像这样

GET /odata/Products?$select=foo & $top=10 & $count=true & distinct=true
Run Code Online (Sandbox Code Playgroud)

我的控制器

[EnableQuery]
public IQueryable<FooBarBaz> Get(ODataQueryOptions<FooBarBaz> queryOptions, bool distinct)
{
        //I've tried the following
        return Repository.AsQueryable().Distinct();

        // and
        return Repository.AsQueryable().GroupBy(x => x.Foo);

        // and
        IQueryable query = queryOptions.ApplyTo(Repository.AsQueryable());
        return query.Distinct(); // Can't call .Distinct() here
}
Run Code Online (Sandbox Code Playgroud)

没有工作:(

c# odata asp.net-web-api-odata odata-v4

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

WebApi OData每个用户的属性安全性

我有一些实体,其数据必须只能供某些用户访问.

public class Foo
{
    public virtual Bar { get; set; }
    ...
}

public class Bar
{
    public string Secret { get; set; }
    ...
}
Run Code Online (Sandbox Code Playgroud)

例如,Bar.Secret只能通过UserA但不能访问UserB.我可以这样:

public class BarsController : ODataController
{
    [EnableQuery]
    public IHttpActionResult Get()
    {
        if (User.Identity.Name != "UserA") 
            return Unauthorized();

        return _db.Bars();
    }
}
Run Code Online (Sandbox Code Playgroud)

除此之外是一个糟糕的实施.它不包括此控制器:

public class FoosController : ODataController
{
    [EnableQuery]
    public IHttpActionResult Get()
    {
        return _db.Foos();
    }
}
Run Code Online (Sandbox Code Playgroud)

哪个可以调用,/odata/Foos?$expand=Bars然后我可以查看Bar.Secret.我不能只是禁用$expand,Foo因为该查询完全合法 …

c# odata asp.net-web-api asp.net-web-api-odata

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

将int转换为带前导零的字符串

我有一个整数,我想转换为带前导零的字符串.

所以我有1并想把它变成01.14应该变成14没有014.

我试过了:

let str = (string 1).PadLeft(2, '0') // visual studio suggested this one
let str = (string 1).PadLeft 2 '0'
let str = String.PadLeft 2 '0' (string 1)
Run Code Online (Sandbox Code Playgroud)

但是没有工作:(当我用F#搜索这样的东西时,我得到了东西,printfn但我不想打印到stdout:/

免责声明:这是我的第一个F#

f# padleft leading-zero

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

通过 POST/PUT/PATCH 请求将有效负载数据发送到 Sentry.io

我正在尝试将有效负载数据添加到发送到 Sentry.io 的面包屑中。

看起来就是这样。

在此输入图像描述

我找到了如何添加回复。

const sentryConfig: BrowserOptions = {
  beforeBreadcrumb: (breadcrumb, hint) => {
    if (breadcrumb.category === 'xhr') {
      // hint.xhr is a whole XHR object that you can use to modify breadcrumb
      breadcrumb.data = (hint.xhr as XMLHttpRequest).response;
    }

    return breadcrumb;
  }
};
Run Code Online (Sandbox Code Playgroud)

但我似乎找不到添加有效负载的方法。XMLHttpRequest没有这个信息。

sentry angular

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