Mongodb Compass排序导出数据

时间:2018-08-16 03:24:36

标签: mongodb mongodb-compass

我可以在罗盘中对数据进行排序,但是我的问题是导出时,我没有对数据进行排序,也找不到在导出数据时可以在哪里应用排序的方法?

正如您在这里看到的,我正在使用{name: 'SelectedProduct'}进行过滤,而我正在使用{name: 1}进行排序: Filtering and Sorting

但是在与上图相同的过滤器和排序的导出收集对话框中,我看到了: Export Dialog

我似乎找不到如何对导出的数据进行排序的方法。

3 个答案:

答案 0 :(得分:0)

即使我面临类似的问题。如果在第一个屏幕的“查询”窗口中看到,则只有1个文档,如“导出数据”窗口中显示984条记录。这是需要由MongoDB Compass修复的错误。导出的行为类似于“整个完整集合”,并且不会影响编写的查询。

答案 1 :(得分:0)

我找到了解决指南针错误的方法: 步骤:

  1. 转到汇总 enter image description here
  2. 选择:$ match
  3. 在比赛中复制您的查询
  4. 另存为新视图(实际上会使用您的结果创建一个新集合)-“保存”按钮的右下方有一个箭头
  5. 现在转到这个新收藏并将其导出

此外,如果您想通过外壳执行相同的过程,这是命令: db.videos.aggregate([{$ match:{hasError:{$ ne:true},videos:{$ gt:[]},businessAuth:{$ in:[ObjectId('5f78a94323614f0020554f96')]}}},{ $ out:“ heavy”}])

解释:

  1. db.videos是集合名称(videos是集合名称)
  2. aggregate是一个命令,该命令创建具有多个订单的管道,例如查询($ match)并输出结果($ out)-它需要命令数组)
  3. $ match就像find()
  4. $ out是结果的处理方法-因此,我要求将查询找到的所有文档插入到名为“ heavy”的新集合(或存在的集合)中

答案 2 :(得分:0)

我也需要那个。

  1. 转到聚合并选择 $sort。

  2. 过去的你:

    MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
    [controller setMailComposeDelegate:self];
    [controller setSubject:subject];
    [controller setMessageBody:body isHTML:true];
    [controller setToRecipients:[NSArray arrayWithObject:address]];
    [screenViewController presentViewController:controller
                                       animated:YES
                                     completion:nil];
    
  3. 另存为 创建视图。

  4. 然后你只需要转到那个视图,它就会被排序并准备好导出。