Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何清理嵌套数组中的特定项_Mongodb - Fatal编程技术网

Mongodb 如何清理嵌套数组中的特定项

Mongodb 如何清理嵌套数组中的特定项,mongodb,Mongodb,我想删除仅包含空格的项目 例如:“,” 我想从buy_items数组中删除它们 怎么做?谢谢 样本文件 您的情况基本上与本问题中描述的相同: 只需将其应用于monogodb中的数组搜索: 我认为最好的方法是迭代数组的每个元素。如果在内部数组中检测到非空白字符,则转到外部数组的下一个元素;如果扫描了内部数组的所有元素,并且没有出现非空白字符,则该元素将被删除 移除数组元素可以通过将数组中的每个后续元素向上移动一个空间,然后将数组大小减少1(如果数组大小是您明确跟踪的内容)来完成 这是一个相当耗费处

我想删除仅包含空格的项目

例如:

我想从
buy_items
数组中删除它们

怎么做?谢谢

样本文件
您的情况基本上与本问题中描述的相同:

只需将其应用于monogodb中的数组搜索:


我认为最好的方法是迭代数组的每个元素。如果在内部数组中检测到非空白字符,则转到外部数组的下一个元素;如果扫描了内部数组的所有元素,并且没有出现非空白字符,则该元素将被删除

移除数组元素可以通过将数组中的每个后续元素向上移动一个空间,然后将数组大小减少1(如果数组大小是您明确跟踪的内容)来完成


这是一个相当耗费处理器/时间的过程,因此应避免不必要地执行此过程。您还可以通过在移动每个元素之前扫描每个元素中的非空白字符来缩短处理时间,并在必要时一次性删除所有仅限空白的元素。

但是我如何使用mongo查询语法找到
,知道吗?但是如何使用mongo查询语法找到
,有什么想法吗?
{
  "_id": "mark jordan",
  "records": [
    {
      "date": new Date("2012-05-04T08:00:00+0800"),
      "buy_items": [
        "6829           ",
        "               ",
        "68600          ",
        "8830           "
      ]
    },
    {
      "date": new Date("2011-02-10T08:00:00+0800"),
      "buy_items": [
        "4659 ",
        "     ",
        "4660 "
      ]
    },
    {
      "date": new Date("2011-01-09T08:00:00+0800"),
      "buy_items": [
        "     ",
        "4659 "
      ]
    }
  ]
}