Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 带$push的mongo组不允许重复密钥_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

Mongodb 带$push的mongo组不允许重复密钥

Mongodb 带$push的mongo组不允许重复密钥,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有以下文件结构: { readings:[ {"timestamp":"1234","data":"9"}, {"timestamp":"1234","data":"90"}, {"timestamp":"12" "data":"100"}] } 是否可以使用重复的键对三个数组进行分组 预期结果: { "readings":["1234","1234","12"] } [ { $group: { _id: "null", readings: {

我有以下文件结构:

{
readings:[
{"timestamp":"1234","data":"9"},
{"timestamp":"1234","data":"90"},
{"timestamp":"12" "data":"100"}]
}
是否可以使用重复的键对三个数组进行分组

预期结果:

{
"readings":["1234","1234","12"]
}
[
  {
    $group: {
      _id: "null",
      readings: {
        $push: "$readings.timestamp"
      }
    }
  }
];
我的查询:

{
"readings":["1234","1234","12"]
}
[
  {
    $group: {
      _id: "null",
      readings: {
        $push: "$readings.timestamp"
      }
    }
  }
];

但是它不允许重复键。

读数
是一个数组,当您分组时,您将得到数组数组。如果您展平
读数
字段并将其分组,您将得到所需的结果

试试这个:

db.collection.aggregate([
  {
    $unwind: "$readings"
  },
  {
    $group: {
      _id: "null",
      readings: {
        $push: "$readings.timestamp"
      }
    }
  }
])

这里应该没有任何问题,检查一下::(),还有这个字段是什么
macid
?这在mongo 4.2中不起作用。macid是打字错误IM使用mongo 4.2和c#driver 2.6.1会出现什么错误?由于您已更改为“\u id:“null”`那么它将迭代您的所有文档,因此您的预期结果也将相应更改,结果将具有
\u id:null
。无错误。此查询不允许重复条目,这意味着[“1234”,“12”]只获取一个“1234”值。我想要两个值