为什么我在执行db.collection.find()时看不到数组的元素?

时间:2015-06-05 20:37:30

标签: angularjs mongodb

我有一个像这样的mongo模型:

attributes:[String]

但是当我这样做时:db.ads.find({})

我有这个:

{ "_id" : ObjectId("5571fe998f6319ed03235522"), "attributes" : [ ], "__v" : 0 }

我没有看到数组中的元素"属性"即使实际上数组包含这个:["Meublé","Wi-Fi","Salle de sport"]

我希望能够执行db.ads.find({})之类的命令并查看数组中的元素

由于

2 个答案:

答案 0 :(得分:1)

您是在终端或代码中执行此操作吗?

如果您使用的是终端:

使用----&GT; < 0

OR ---&GT; > ULLONG_MAX 让它看起来不错

答案 1 :(得分:0)

请尝试在控制台中执行以下查询:

db.ads.find({"attributes": { $not: { $size: 0 } } })

以查找具有非空"attributes"数组的所有文档。

在你的情况下,看起来你可能有很多文件,这个数组为空,db.ads.find()返回一个游标,在你的控制台中每次迭代只显示20个元素(默认情况下),所以在第一次迭代中你可能是只查看"attributes"中没有值的那些。

希望这会有所帮助。