无法将找到的项目作为数组分配给变量

时间:2017-10-17 12:19:23

标签: java mongodb

 db.getSiblingDB("pilates").ball.find({ "list.Barcode.":  "80196061999242"})  

当我运行此查询时,它会带来此文档。

    { 

            "Brand" : "Givi", 
"list" : [
    {

        "Barcode" : [
            "8019606199942"
]
}
..
    }
]
    .
    ...
    .

        }

但是当我运行这个

     db.getSiblingDB("pilates").ball.find({ "list.Barcode.":  "80196061999242"})  .forEach(function(x){


print("m "+x.list.[0].Barcode);})

它给出了这个输出

m undefined

或为此

print("m "+x.list.(0).Barcode);})

它给出了这个

is not a function :
@(shell):4:16
DBQuery.prototype.forEach@src/mongo/shell/query.js:501:1
@(shell):1:1

这个

 print("m "+x.list.Barcode);})

给出了这个

m undefined

为此   print(“m”+ x。$。条形码);})

给出了这个

$ is undefined :
@(shell):4:3
DBQuery.prototype.forEach@src/mongo/shell/query.js:501:1
@(shell):1:1

为什么不能得到它?

1 个答案:

答案 0 :(得分:0)

列出不是一个对象而是一个数组,那么你需要这样做:

10

基本上,删除print("m "+x.list[0].Barcode[0]); .也是一个数组。