首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么`$graphLookup`‘的’`connectFromField`‘字段不接受数组?

为什么`$graphLookup`‘的’`connectFromField`‘字段不接受数组?
EN

Stack Overflow用户
提问于 2020-11-18 17:05:24
回答 1查看 199关注 0票数 1

connectFromField of $graphLookup被记录为接收数组:https://docs.mongodb.com/manual/reference/operator/aggregation/graphLookup/

字段名,其值$graphLookup用于递归匹配集合中其他文档的connectToField。如果该值是一个数组,则每个元素将在遍历过程中被单独跟踪。

但是,在每个版本的MongoDB上,我都尝试过--当提供了一个字符串数组时,它失败了:

代码语言:javascript
复制
Error:
Uncaught exception: Error: command failed: {
    "ok" : 0,
    "errmsg" : "expected string as argument for connectFromField, found: [ \"name\", \"id\" ]",
    "code" : 40103,
    "codeName" : "Location40103"
} : aggregate failed :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
doassert@src/mongo/shell/assert.js:18:14
_assertCommandWorked@src/mongo/shell/assert.js:583:17
assert.commandWorked@src/mongo/shell/assert.js:673:16
DB.prototype._runAggregate@src/mongo/shell/db.js:266:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1012:12
DBCollection.prototype.aggregate@:1:355
@(shell):1:1

示例查询:

代码语言:javascript
复制
db.getCollection('sensor_data').aggregate([{$graphLookup: {
    from: 'sensor_data',
    startWith: 'name',
    connectFromField: ['name', 'id'],
    connectToField: 'value',
    as: 'children'
}}])

我是做错了什么,还是connectFromField值根本不接受数组?

EN

回答 1

Stack Overflow用户

发布于 2020-11-18 18:56:22

所引用的“值”是要遍历的文档中指定字段的值。不能指定多个字段名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64897836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档