小编Pro*_*mer的帖子

从PyMongo查询中排序结果

我有一个MongoDB查询如下:

data =  db.collection.aggregate([{"$match":{"created_at":{"$gte":start,"$lt":end}}},{"$group":{"_id":"$stage","count":{"$sum":1}}},{"$match":{"count":{"$gt":m{u'count': 296, u'_id': u'10.57.72.93'}
Run Code Online (Sandbox Code Playgroud)

这导致以下输出:

{u'count': 230, u'_id': u'111.11.111.111'}
{u'count': 2240, u'_id': u'111.11.11.11'}
Run Code Online (Sandbox Code Playgroud)

我试图通过'count'列对输出进行排序:

data.sort('count',  pymongo.DESCENDING)
Run Code Online (Sandbox Code Playgroud)

...但我收到以下错误:

'CommandCursor' object has no attribute 'sort'
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这个错误的原因吗?

python mongodb pymongo mongodb-query aggregation-framework

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

无法在 Windows 中启动 python

早些时候,我使用 Chocolatey 安装了 Python 3.5,但是当我发现我只需要使用的库只允许用于 Python 版本 2 时 - 我卸载了 Python 3.5,然后从控制面板安装 Python 2.7.3。

我确保我为 Python 正确设置了 PATH 变量 -

PATH=....;C:\Python27
Run Code Online (Sandbox Code Playgroud)

但是当我从提示中调用 python 时,我仍然收到以下错误:

C:\>python 
Cannot find file at '..\\lib\python3\tools\python.exe' 
(C:\ProgramData\chocolatey\lib\python3\tools\python.exe). This usually 
indicates a missing or moved file. 
Run Code Online (Sandbox Code Playgroud)

如何解决巧克力包管理器问题?

python chocolatey

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

将C++成员函数传递给C函数

我们有一个接受C函数指针的结构:

int one(int x)
{
}

int two(int x)
{
}

struct Cstruct
{
int (*fn1)(int);
int (*fn2)(int);
};
Run Code Online (Sandbox Code Playgroud)

现在我有一个C++类,它具有以下方法:

class A
{
public:
int one(int x)
{
}

int two(int x)
{
}

int three(int x)
{
struct Cstruct cstr = {&this->one, &this->two};
}
};
Run Code Online (Sandbox Code Playgroud)

尝试初始化类A时,方法地址到Cstruct编译器的实例是否给出了无效转换的错误?

如何将类成员函数地址分配给Cstruct?

c c++ c++11

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

从私有成员变量的成员方法返回unique_ptr

我有以下代码,我试图从成员函数返回一个私有成员变量的unique_ptr:

#include <memory>

class Interface1
{
public:
  virtual ~Interface1() = default;
  virtual void Show() const = 0;
};

class Interface2
{
public:
  virtual ~Interface2() = default;
  virtual std::unique_ptr<Interface1> Interface1Ptr() const = 0;
};

class CInterface1 : public Interface1
{
public:
  CInterface1 (){}
  virtual ~CInterface1() = default;
  virtual void Show() const override
  {
  }
};

class CInterface2 : public Interface2
{   
public:
  CInterface2 ()
  {
    mifi = std::make_unique<CInterface1>();
  }
  virtual ~CInterface2() = default;
  virtual std::unique_ptr<Interface1> Interface1Ptr() const override
  {
    return std::move(mifi); …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

Python - 开发Web应用程序

我正在尝试使用Python作为后端自学开发Web应用程序.由于我来自C++背景,我发现构建网页(设计/实现)和与之相关的后端代码存在困难 - 创建CSS,HTML代码,包括图像,表格等.我读到http://webpy.org/ framework但尚未使用它.实际上我有点困惑如何使用Python开发一个很棒的UI页面 - 比如具有多个选项卡,配色方案,下拉框,列表,图形和其他UI组件/小部件的页面 - 以及与之关联的后端代码.

任何人都可以让我知道我们应该采取什么样的方式,以便使相同的方法变得容易?我读到了关于JQuery的信息,并且相信在计算世界中有很多可用的工具,但哪些组合最好,并且易于使用.

python

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

Jquery推送数组中的元素

我不确定现有代码中是否存在错误,或者Jquery Array中的功能如下所示:

var categories = [];
$(this).children('categories').each(function() {
    categories.push($(this).find('name').text());
});
Run Code Online (Sandbox Code Playgroud)

现在,当我有下面的XML节点时:

<categories>
    <name>a</name>
    <name>b</name>
    <name>c</name>
</categories>
Run Code Online (Sandbox Code Playgroud)

我看到在Firebug中,categories数组有一个元素 - "abc",但实际上它应该是索引2,其值为'a','b'和'c'

我的代码中有什么问题吗?

jquery

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

Javascript - 从当前日期开始的上个月计算

我有一个下面的JS,我获得了允许用户从后端脚本输入的最大日期:

var max_date = new Date(pdate + " " + ptime);
Run Code Online (Sandbox Code Playgroud)

从脚本中获取pdate和ptime的位置.

现在我需要将最小日期设置为比max_date少1个月

if (max_date.getMonth() == 0)
subtractyear = 1;
var min_date = new Date(Date.UTC(max_date.getFullYear() - subtractyear,max_date.getMonth() - 1,max_date.getDate(),max_date.getHours(),0,0));
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果max_date是3月31日 - 那么min_date是否会延迟到2月28日或2月29日或2月31日或2月30日?

如果形成的日期不正确 - 比如说2月30日我该如何纠正?

javascript

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

函数指针的并集

我有一个具有不同成员函数签名的类。根据一些要求(专门优化执行时间),我需要在特定时间调用上述方法之一。我计划创建以下类型的结构:

#include <iostream>

class A
{
   public:
      void Show() {std::cout << "Called 0" << std::flush << std::endl;}
      int Show1() {std::cout << "Called 1" << std::flush << std::endl;}
      double Show2(char z) {std::cout << "Called 2" << std::flush << std::endl;}
      float Show3(int op, float x) {std::cout << "Called 3" << std::flush << std::endl;}
};

struct details
{
   int type ; /* methods to be called resp : 0 =Show,1=Show1,2=Show2,3=Show3*/
   union 
   {
      void (A::*fn)();
      int (A::*fn1)();
      double (A::*fn2)(char z);
      float (A::*fn3)(int op, float …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

使用unique_ptr的单例对象

我有以下CPP源代码,用于使用unique_ptr创建类的Singleton对象:

#include <iostream>
#include <memory>

class A
{

public:
    std::unique_ptr<A> getInstance(int log);
    ~A();

private:
    static bool instanceFlag;
    static std::unique_ptr<A> single;
    A(int log);
    int mLog;
};

bool A::instanceFlag = false;
std::unique_ptr<A> A::single = NULL;

std::unique_ptr<A> A::getInstance(int log)
{
    if(!instanceFlag)
    {
        //single = std::make_unique<A>(log);
        single = std::unique_ptr<A>(new A(log));
        instanceFlag = true;
        return std::move(single);
    }
    else
    {
        return std::move(single);
    }
}

A::A(int log) :
    mLog(log)
{

    std::cout << "Called A cons" << std::flush << std::endl;
}

int main()
{
std::unique_ptr<A> mA = A::getInstance(5); …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

将 void * 转换为类型的shared_ptr

在下面的代码中,我尝试将 void* 转换为类型的共享指针:

#include <iostream>
#include <memory>
class A
{
public:
    A() { l = 0; }
    int l;
    void Show() { std::cout << l << "\n"; }
};

void PrintA(void *aptr)
{
    std::shared_ptr<A> a1;
    a1.reset(aptr);
    a1->Show();
}

int main()
{
    std::shared_ptr<A> a(new A());
    PrintA(a.get());
}
Run Code Online (Sandbox Code Playgroud)

但我得到以下编译错误:

$ c++ -std=c++14 try20.cpp
In file included from C:/tools/mingw64/x86_64-w64-mingw32/include/c++/bits/shared_ptr.h:52:0,
                 from C:/tools/mingw64/x86_64-w64-mingw32/include/c++/memory:82,
                 from try20.cpp:2:
C:/tools/mingw64/x86_64-w64-mingw32/include/c++/bits/shared_ptr_base.h: In instantiation of 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Tp1*) [with _Tp1 = void; _Tp = A; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]':
C:/tools/mingw64/x86_64-w64-mingw32/include/c++/bits/shared_ptr_base.h:1023:4:   required from …
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers shared-ptr c++11

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