小编Sbi*_*dan的帖子

选择2个字段并返回带有不同值的已排序数组

假设我们有以下文档:

{a: 1, b: 2},
{a: 2, b: 0},
{a: 3, b: 1}
Run Code Online (Sandbox Code Playgroud)

我想要一个将返回的查询:

[0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法比这更快地做到这一点:

  • 只做2个查询,一个选择a,另一个选择b然后在我的应用程序中合并.
  • 使用map reduce(与之前的方法相比,这是非常缓慢的)

mongodb mongodb-query aggregation-framework

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

MongoDb 和 Spring Data:项目新数组字段

如何使用 Spring Data 实现以下 Mongo DB 查询?

db.getCollection('docs').aggregate([
   { 
       $project: { 
          values: [ "$a", "$b" ] 
       } 
   }
])
Run Code Online (Sandbox Code Playgroud)

java spring mongodb spring-data spring-data-mongodb

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

为什么我在这个带有C(LINUX)线程的小程序中得到这些结果?

我有一个小程序,我在OS课程的考试科目中找到.

void * func (void * p) {
    int n = p;
    printf("%d \n",n);
    return NULL;
}

int main() {
    int i;
    pthread_t t[3];
    for(i=0; i<3; i+=1)
        pthread_create(&t[i] ,NULL, func, (void*)i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下结果(每个数字后面有一个新行):

第1次运行:0 0
次运行:1 0 2 2
第3次运行:0 1 1

当我只创建3个线程时,为什么它会打印4位数.它怎么打印重复?

该代码在Ubuntu中使用gcc编译.

终端的截图

c linux pthreads

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