小编Giu*_*ppe的帖子

无法找到 $geoNear 查询的索引

我正在使用 node 和 mongodb 编写应用程序,但无法进行任何地理定位查询。我通过发布此查询发送:

{  
    "geometry": {
          "type": "Point",
          "coordinates" : [-8.139530, -79.032231 ]
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我服务器的输出:

    { MongoError: Unable to execute query: error processing query: ns=dblocations.locations limit=1000 skip=0                                     
Tree: GEONEAR  field=geometry maxdist=0.00125569 isNearSphere=0                                                                               
Sort: {}                                                                                                                                      
Proj: {}                                                                                                                                      
 planner returned error: unable to find index for $geoNear query                                                                              
    at Function.MongoError.create (/Users/giuseppemarotta/Documents/Mockinghi/node_modules/mongodb-core/lib/error.js:31:11)                   
    at queryCallback (/Users/giuseppemarotta/Documents/Mockinghi/node_modules/mongodb-core/lib/cursor.js:198:34)                              
    at /Users/giuseppemarotta/Documents/Mockinghi/node_modules/mongodb-core/lib/connection/pool.js:436:18                                     
    at _combinedTickCallback (internal/process/next_tick.js:67:7)                                                                             
    at process._tickCallback (internal/process/next_tick.js:98:9)                                                                             
  name: 'MongoError',                                                                                                                         
  message: 'Unable to execute query: error processing query: ns=dblocations.locations limit=1000 skip=0\nTree: GEONEAR  field=geometry maxdist
=0.00125569 …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

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

为什么我得到"不能分配一个常量0的数组"?

我正在为学校做一个扫雷程序,但我一直在我的代码上得到这个错误

无法分配常量大小为0的数组

我不知道为什么会这样; 我不分配大小-我设置上0的另一个问题是,我怎么能读我输入charchar,所以我可以将它保存在我的阵列?

如下所示,我正在使用输入和输出.我记录了我的输入和输出,所以你们可以看到我正在使用的程序.我想读取char,char所以我可以保存数组上的所有地图.

我正在使用MSVC++ 2010.

freopen("input.txt","rt",stdin);
//4 4
//*...
//....
//.*..
//....
//3 5
//**...
//.....
//.*...
//0 0


freopen("output.txt","wt",stdout);

/*Field #1:
*100
2210
1*10
1110

Field #2:
**100
33200
1*100*/
int n=-1;
int m=-1;
int cont =0;
while(n!=0 && m!=0)
{
    scanf("%d %d",&n,&m);
    int VMatriz[n][m]={0};
    int Mapa[n][m]={0};


    if (n==0 && m==0)
        break;
    cont++;
    printf("Field #%d",cont);


    for (int i=0;i<n;i++)
    {   printf("/n");
        for (int j=0;j<m;j++)
        {

            scanf("%d ",&Mapa[i][j]);

            if (Mapa[i][j]=='*')
                {
                    if (j-1>=0) …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

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

Trie实现地图

我今天正在解决一个问题.但我被困了.我知道trie是如何工作的,但问题是我知道如何使用静态数组和类来实现它.今天在网上冲浪我读到有一种方法可以使用stl :: map实现尝试.我今天试过,但我还是不知道如何在int上插入元素.这个结构.

编辑1:我正在尝试解决这个问题:spoj.com/problems/TAP2012D我想知道如何使用edit2将单词添加到trie中:我知道地图是如何工作的,我只是不知道如何使用地图作品.我想要一个了解尝试的人.

这是我到目前为止所做的

const int ALPH_SIZE = 26;
using namespace std;

struct trie{
    map<char,int> M;
    int x,y;
    trie();
};

trie T[1000000];


trie::trie()
{
    x=y=0;
}
int maximo;


void addtrie(string palabra)
{
    int tam=palabra.size();
    int pos=0;
    for(int i=0;i<tam;i++)
    {
        if(T[pos].M.find(palabra[i])==T[pos].M.end())
        {
            T[pos].M[palabra[i]]=new trie();
            T[pos].M[palabra[i]]=
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

c++ dictionary trie data-structures

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

如何找到euclide算法的s和t

欧几里得算法的推广

我们已经知道,对于任何两个整数a和b,存在整数s和t,使得+ bt = gcd(a,b).换句话说,gcd(a,b)是a和b的线性组合.gcd(a,b)是两个整数的最小正组合.a和b本身表示为平凡的组合:a = 1·+ 0·b,b = 0·a + 1·b.从这两个开始,Euclid算法的扩展找到了s和t,其存在迄今仅以正式方式建立.

在列中写下两个线性组合,并将Euclid算法的一步应用到左侧.假设a = bp + r.将第二个等式乘以p并从第一个等式中减去它:a = 1·a + 0·b b = 0·a + 1·b r = 1·a +( - p)·b

对最后两个方程应用相同的过程.以这种方式继续,直到左边的Euclid算法停止.在右边,将有我们追求的线性组合.让我们用一个例子来检查:a a = 2322,b = 654.我采用通常的求解线性方程式的约定,省略了线性组合中的所有项,但左侧​​和右侧的两个系数.结果放在一个表中,第四列等于p(从a = bp + r,它在每一步上都会改变.将p的左边的三个数乘以p,然后从它们正上方的数字中减去它们.结果在下一行.

int algoritmoeuclides(int a,int b)
if (a%b==0)
return b;
return algoritmoeuclides(b,a%b);
}


int main(array<System::String ^> ^args)
{
int a=525;
int b=231;
printf("%d",algoritmoeuclides(a,b));
getch();
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的代码,它完美无缺.问题是当我试图找到s和t时.我不知道如何找到它,我在论坛上搜索但是idk是最好的方法来编程这个算法找到S和T.我把所有的解释给你们一个想法.PD:对不起,我的英语不是讲英语的人.任何想法都是一个先例.

algorithm c++-cli visual-c++

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

如何使用MongoDB更改聚合中的空值

我很难让这段代码正常工作.我在mongo db中有一个聚合查询,我在其中执行一些操作.没有$ ifNull运算符的查询工作正常,但我得到一些我不想打印的空值.我已经阅读了$ ifNull运算符的文档,但是我无法使这段代码正常工作.到目前为止我有这个代码,女巫给了我这个错误:

SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)

我认为这是来自ifnull的":"但我不知道为什么.我正在关注官方网站文档中的sintax.我还尝试使用另一个项目字段来过滤Null值,但它没有用.到目前为止这是de query:

 db.cleandrivers.aggregate(
 [
 {
    $project :
      { _id:"$_id", 
        week : {$week : "$recruiter.date"},
        dif: {   
                $ifNull: [$divide : [{$subtract : ["$personal.stat.first_inspected","$recruiter.date"]}  , 1000 * 60 * 60 ], "0"]
             }
      }
 }, { $match : { week: 11  }  } 
 ])
Run Code Online (Sandbox Code Playgroud)

编辑:一切都运行正常,这是一个实际工作计数招聘人员给出一个特定周的查询.

  db.cleandrivers.aggregate(
    ...  [
    ...  {
    ...  $project :
    ...    { _id:"$_id", 
    ...      week : {$week : "$personal.stat.recruited"}
    ...    }
    ...  },
    ...  { $match : { $and: [ {week: …
Run Code Online (Sandbox Code Playgroud)

mongodb

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