小编Ale*_*erd的帖子

$ match in $ lookup结果

我有下一个mongo代码:

db.users.aggregate([
    { 
        $match: { 
            $and: [
                { UserName: { $eq: 'administrator' } }, 
                { 'Company.CompanyName': { $eq: 'test' } }
            ]                   
        } 
    },
    { 
        $lookup: { 
            from: "companies", 
            localField: "CompanyID", 
            foreignField: "CompanyID", 
            as: "Company" 
        } 
    },
])
Run Code Online (Sandbox Code Playgroud)

该$lookup部分代码工作的伟大.我得到了下一个结果:

在此输入图像描述 在此输入图像描述

但是,如果我添加$match代码,它什么也没带来.

我发现问题出现在第二场比赛中: { 'Company.CompanyName': { $eq: 'test' } }但是我无法意识到它有什么问题.有任何想法吗?

更新:

我也尝试$unwind了$lookup结果,但没有运气:

db.users.aggregate([
    { 
        $match: { 
            $and: [
                { UserName: { $eq: 'administrator' } }, 
                { 'Company.CompanyName': { $eq: 'edt5' } }
            ] …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

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

获取两个词典的常用键和常用值

嗨我有两个下一个类型的词典:

SortedDictionary<string, ClusterPatternCommonMetadata> PatternMetaData { get; set; }
Run Code Online (Sandbox Code Playgroud)

ClusterPatternCommonMetadata对象如下所示:

int ChunkQuantity { get; set; }

SortedDictionary<int, int> ChunkOccurrences { get; set; }
Run Code Online (Sandbox Code Playgroud)

首先,我需要找到两个字典中存在的PatternMetaData键的方法.我发现这样:

List<string> commonKeysString=
            vector.PatternMetaData.Keys.Intersect(currentFindingVector.PatternMetaData.Keys)
Run Code Online (Sandbox Code Playgroud)

然后我需要找到已创建密钥的常用值...

是否有快速方式(lambda,linq等)才能进行此类操作

谢谢

c# lambda linq-to-entities dictionary

7
推荐指数
2
解决办法
5539
查看次数

JS:先调用某些函数,然后再调用文件中的其他每个函数

我有一个关于在JS中更好地重复使用代码的问题。

例如,我的文件functions.js具有以下功能:

export const a = ()=>{...}
export const b = ()=>{...}
export const c = ()=>{...}
....
const foo = ()=>{...}
Run Code Online (Sandbox Code Playgroud)

我想在此类中的每个函数之前调用foo()函数。简单的解决方案是:

export const a = ()=>{foo() ...}
export const b = ()=>{foo() ...}
export const c = ()=>{foo() ...}
Run Code Online (Sandbox Code Playgroud)

但是,如果我有3种功能呢?如何优化foo()函数调用并在每次调用每个文件函数之前调用它?

javascript function

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

从大型数据库检索行时,优化灵活的Linq to Entity条件的性能

我有包含数十亿行的数据库。我创建了一个函数,该函数从用户数量的参数中接收数据,并通过这些参数削减DB。对于小型DB(30000行),这对我来说效果很好,但是当我尝试在大型DB上使用此功能时,我得到了TIMEOUTEXCEPTION from SQLSERVER。

这是我的代码:

public static IQueryable<LogViewer.EF.InternetEF.Log> ExecuteInternetGetLogsQuery(FilterCriteria p_Criteria, ref GridView p_Datagrid)
{
    IQueryable<LogViewer.EF.InternetEF.Log> internetQuery = null;

    using (InternetDBConnectionString context = new InternetDBConnectionString())
    {
        internetQuery = context.Logs;
        if ((p_Criteria.DateTo != null && p_Criteria.DateFrom != null))
        {
            internetQuery = internetQuery.Where(c => c.Timestamp >= p_Criteria.DateFrom && c.Timestamp < p_Criteria.DateTo);
        }
        else if (p_Criteria.DateFrom != null && p_Criteria.DateFrom > DateTime.MinValue)
        {
            internetQuery = internetQuery.Where(c => c.Timestamp >= p_Criteria.DateFrom);
        }
        else if (p_Criteria.DateTo != null && p_Criteria.DateTo > DateTime.MinValue)
        {
            internetQuery = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server linq-to-entities entity-framework

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

在CTRL + MOUSEWHEEL事件

我被要求为我们的页面网站实现ctrl + mousewheel事件,以便在用户放大或缩小时更改图像偏移.我发现这个旧答案使用javascript覆盖浏览器CTRL +(WHEEL)SCROLL,我试图做同样的事情.我为实现下载了jQuery Mouse Wheel插件,这是我的代码:

var isCtrl = false;  
       $(document).on('keydown keyup', function(e) {
            if (e.which === 17) {
                isCtrl = e.type === 'keydown' ? true : false;
            }
        }).on('mousewheel', function(e, delta) { // `delta` will be the distance that the page would have scrolled;
            // might be useful for increasing the SVG size, might not
            if (isCtrl) {
                e.preventDefault();
                alert('wheel');
            }
        });
Run Code Online (Sandbox Code Playgroud)

事件可以单独运行,但如果我按住CTRL按钮并转动鼠标,则轮子事件不会触发.有没有人有更好的解决方案,或者我做错了什么?感谢帮助

javascript jquery mouseevent keyboard-events jquery-events

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

Swift 4:适用于所有类型的Ints和浮点数的数组

我有一个程序,可以处理所有类型的Ints和浮点指针值类型

有没有办法创建将包含所有这些值的数组?

我试图通过协议来做到这一点并使用它们扩展Int和Double但由于Swift中的协议兼容性限制(或类似的东西)没有运气

protocol ArrayStructValue: Comparable,Equatable { }

extension Double: ArrayStructValue{}

extension Int:ArrayStructValue {}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

arrays ios swift swift4

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

检查元素是否属于同一个父元素

我有另一个问题。例如我们有一个 HTML:

<div id="imageDiv>
<a id="testA">
    <img alt="" src "" id="img1">
    <img alt="" src "" id="img2">
    <img alt="" src "" id="img3">
    <img alt="" src "" id="img4">
    <img alt="" src "" id="img5">
</a>
    <img alt="" src "" id="img6">
</div>
Run Code Online (Sandbox Code Playgroud)

我如何从最低级别检查,如果可能的话,使用简单的 JQuery 选择器或扩展,id 为 1 到 5 的图像具有相同的父级,但 id 为 6 的图像不具有相同的父级。

换句话说:如何检查 id 为 1 到 5 的图像是否是兄弟姐妹()?

多谢

jquery jquery-plugins jquery-selectors

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

Safari:SyntaxError:使用保留字'class'

我想让我的网站适合所有知名浏览器在所有浏览器中,我的JavaScript代码都可以使用,但在Safari中却没有.

我在Safari中遇到下一个错误:"SyntaxError:使用保留字'class'" 在此输入图像描述

在此输入图像描述 我的代码看起来像:

    class _MontInit {
    constructor() {}
    sendXMLHTTPRequest(url, data, method, callback, error) {
        var xmlHTTP = new XMLHttpRequest(); // new HttpRequest instance 
        xmlHTTP.open(method, url);
        xmlHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
        xmlHTTP.onload = callback;
        xmlHTTP.onerror = error;
        xmlHTTP.setRequestHeader('Cache-Control', 'no-cache');
        xmlHTTP.send(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误放置位于MontInit之前的类字上.Web上的解决方案之一是添加"use strict".但它没有帮助.有任何想法吗?

javascript safari mobile-safari ecmascript-6 es6-class

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

如何检查从文件中读取的char是"/ n"?

嗨,我正试图通过文件和计数行数,每行最大空格数和最长行.

如果我通过char给定文件迭代char,我如何确定"/ n"字符?

非常感谢.

这是我用于此的代码:

    using (StreamReader sr = new StreamReader(p_FileName))
     {

  char currentChar;
  int current_length=0,current_MaximumSpaces=0;
    p_LongestLine=0;
    p_NumOfLines=0;
    p_MaximumSpaces=0;
    while (!sr.EndOfStream){
        currentChar=Convert.ToChar(sr.Read());
        current_length++;
        if(Char.IsWhiteSpace(currentChar) || currentChar==null){
            current_MaximumSpaces++;
        }
        if(currentChar == '\n'){
            p_NumOfLines++;
        }
        if(current_length>p_LongestLine){
            p_LongestLine=current_length;
        }
        if(current_MaximumSpaces>p_MaximumSpaces){
            p_MaximumSpaces=current_MaximumSpaces;
        }
        current_length=0;
        current_MaximumSpaces=0;
    }
    sr.Close();
}
Run Code Online (Sandbox Code Playgroud)

c# string

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