当前位置: 首页 > 知识库问答 >
问题:

在$Project阶段重塑文档

子车心思
2023-03-14

对于我们的收藏,如下所示:

> db.companies.find().limit(1).pretty() {
  "_id": ObjectId("52cdef7c4bab8bd675297d8b"),
  "name": "AdventNet",
  "permalink": "abc3",
  "crunchbase_url": "http://www.crunchbase.com/company/adventnet",
  "homepage_url": "http://adventnet.com",
  "blog_url": "",
  "blog_feed_url": "",
  "twitter_username": "manageengine",
  "category_code": "enterprise",
  "number_of_employees": 600,
  "founded_year": 1996,
  "deadpooled_year": 2,
  "tag_list": "",
  "alias_list": "Zoho ManageEngine ",
  "email_address": "pr@adventnet.com",
  "phone_number": "925-924-9500",
  "description": "Server Management Software",
  "created_at": ISODate("2007-05-25T19:24:22Z"),
  "updated_at": "Wed Oct 31 18:26:09 UTC 2012",
  "overview": "<p>AdventNet is now <a href=\"/company/zoho-manageengine\"
 title=\"Zoho ManageEngine\" rel=\"nofollow\">Zoho ManageEngine</a>.</p>\n\n<p>F
ounded in 1996, AdventNet has served a diverse range of enterprise IT, networkin
g and telecom customers.</p>\n\n<p>AdventNet supplies server and network managem
ent software.</p>",
  "image": {
    "available_sizes": [
      [
        [
          150,
          55
        ],
        "assets/images/resized/0001/9732/19732v1-max-150
x150.png"
      ],
      [
        [
          150,
          55
        ],
        "assets/images/resized/0001/9732/19732v1-max-250
x250.png"
      ],
      [
        [
          150,
          55
        ],
        "assets/images/resized/0001/9732/19732v1-max-450
x450.png"
      ]
    ]
  },
  "products": [],
  "relationships": [{
    "is_past": true,
    "title": "CEO and Co-Founder",
    "person": {
      "first_name": "Sridhar",
      "last_name": "Vembu",
      "permalink": "sridhar-vembu"
    }
  }, {
    "is_past": true,
    "title": "VP of Business Dev",
    "person": {
      "first_name": "Neil",
      "last_name": "Butani",
      "permalink": "neil-butani"
    }
  }, {
    "is_past": true,
    "title": "Usabiliy Engineer",
    "person": {
      "first_name": "Bharath",
      "last_name": "Balasubramanian",
      "permalink": "bharath-balasibramanian"
    }
  }, {
    "is_past": true,
    "title": "Director of Engineering",
    "person": {
      "first_name": "Rajendran",
      "last_name": "Dandapani",
      "permalink": "rajendran-dandapani"
    }
  }, {
    "is_past": true,
    "title": "Market Analyst",
    "person": {
      "first_name": "Aravind",
      "last_name": "Natarajan",
      "permalink": "aravind-natarajan"
    }
  }, {
    "is_past": true,
    "title": "Director of Product Management",
    "person": {
      "first_name": "Hyther",
      "last_name": "Nizam",
      "permalink": "hyther-nizam"
    }
  }, {
    "is_past": true,
    "title": "Western Regional OEM Sales Manager",
    "person": {
      "first_name": "Ian",
      "last_name": "Wenig",
      "permalink": "ian-wenig"
    }
  }],
  "competitions": [],
  "providerships": [{
    "title": "DHFH",
    "is_past": true,
    "provider": {
      "name": "A Small Orange",
      "permalink": "a-small-orange"
    }
  }],
  "total_money_raised": "$0",
  "funding_rounds": [],
  "investments": [],
  "acquisition": null,
  "acquisitions": [],
  "offices": [{
    "description": "Headquarters",
    "address1": "4900 Hopyard Rd.",
    "address2": "Suite 310",
    "zip_code": "94588",
    "city": "Pleasanton",
    "state_code": "CA",
    "country_code": "USA",
    "latitude": 37.692934,
    "longitude": -121.904945
  }],
  "milestones": [],
  "video_embeds": [],
  "screenshots": [{
    "available_sizes": [
      [
        [
          150,
          94
        ],
        "assets/images/resized/0004/3400/43400v1
-max-150x150.png"
      ],
      [
        [
          250,
          156
        ],
        "assets/images/resized/0004/3400/43400v1
-max-250x250.png"
      ],
      [
        [
          450,
          282
        ],
        "assets/images/resized/0004/3400/43400v1
-max-450x450.png"
      ]
    ],
    "attribution": null
  }],
  "external_links": [],
  "partners": []
} >

下面是我们的node.js应用程序的查询。

db.companies.aggregate([{
  $match: {
    "name": "Facebook"
  },
$project: {
        "_id": 0,
        "name": 1,
        "people": "$relationships.person.last_name"
    }
}])

给出以下错误:

Assert:命令失败:{“OK”:0,“errmsg”:“一个管道阶段规范对象必须包含确切的o ne字段。”,“code”:16435}:聚合失败_geterrorwithcode@src/mongo/shell/utils.js:25:13 doAssert@src/mongo/shell/assert.js:13:14 assert.commandwork@src/mongo/shell/assert.js:267:5

2016-09-17T19:20:26.303+0530 E查询[thread1]错误:命令失败:{“OK”:0,“errmsg”:“一个管道阶段规范对象必须包含确切的o ne字段。”,“code”:16435}:聚合失败:_geterrorwithcode@src/mongo/shell/utils.js:25:13 doassert@src/mongo/shell/assert.js:13:14 assert.commandwork@src/mongo/shell/assert.js:267:5 dbcollection.prototype.聚合

我想不出为什么?

共有1个答案

司知
2023-03-14

您的聚合管道运算符缺少一些大括号。正确的管道应该是:

db.companies.aggregate([
    { "$match": {  "name": "Facebook" } }, /* match pipeline stage */
    { "$project": { /* project pipeline stage */
        "_id": 0,
        "name": 1,
        "people": "$relationships.person.last_name"
    } }
])
 类似资料:
  • 本文向大家介绍R重塑数据,包括了R重塑数据的使用技巧和注意事项,需要的朋友参考一下 示例 数据通常在表中。通常,可以将此表格数据分为宽和长格式。在广泛的格式中,每个变量都有自己的列。 人 身高[cm] 年龄[yr] 艾莉森 178 20 鲍勃 174 45 卡尔 182 31 但是,有时使用长格式会更方便,因为所有变量都在一列中,而值在第二列中。 人 变量 值 艾莉森 身高[cm] 178 鲍勃

  • 概述 同步带传动通过传动带内表面上等距分布的横向齿和带轮上的相应齿槽的啮合来传递运动。具有转动比准确以及结构紧凑的优点。 参数 齿数:90 厚度:8mm 材质:塑料 功能特性 与MXL同步带兼容。 可用作小车车轮。 带12个M4孔 使用说明 不带台阶的 Makeblock 塑料同步带轮90T由塑料制成,重量较轻。它被用作小车的轮子。此外,其中12个M4孔也可以用作 Makeblock 平台的底板。

  • 概述 同步带传动通过传动带内表面上等距分布的横向齿和带轮上的相应齿槽的啮合来传递运动。具有转动比准确以及结构紧凑的优点。 参数 齿数:62 厚度:8mm 材质:6061铝 功能特性 与MXL同步带兼容。 可用作小车车轮。 带12个M4孔 使用说明 不带台阶的 Makeblock 塑料同步带轮62T由塑料制成,重量较轻。它被用作小车的轮子。此外,其中12个M4孔也可以用作 Makeblock 平台的

  • 问题内容: 我有一个熊猫系列,目前看起来像这样: 我想从根本上将其重塑成一个看起来像这样的数据框… 即。逻辑构造,指出每个观察(行)属于哪个类别。 我能够编写基于循环的代码来解决该问题,但是鉴于我需要处理的行数众多,这将非常缓慢。 有谁知道针对这种问题的矢量化解决方案?我将不胜感激。 编辑:有509个类别,我确实有一个清单。 问题答案:

  • 我正在使用来训练CNN,基本错误是维度不匹配。 调试后的原因是: 生成输出: 如果需要,我的模型的摘要是: convolution2d_1(卷积2D)(无,32, 25, 34) 320convolution2d_input_1[0][0] activation\u 1(activation)(无、32、25、34)0卷积2d\u 1[0][0] 卷积2d\u 2(卷积2d)(无,32,23,32

  • R中的数据重塑是关于改变数据组织成行和列的方式。 大多数情况下,R中的数据处理是通过将输入数据作为数据帧来完成的。 从数据帧的行和列中提取数据很容易,但有些情况下我们需要的数据帧格式与我们收到它的格式不同。 R具有许多功能,可以在数据帧中拆分,合并和更改行到列,反之亦然。 在数据框中加入列和行 我们可以使用cbind()函数连接多个向量来创建数据框。 我们也可以使用rbind()函数合并两个数据帧