我有物品清单表(如图片)。现在,我想找到一个name
包含searchString
的对象。
我尝试过类似db.getCollection('vehicles').find({'result': {'name': 'A-WING FIGHTER'}})
的查询,但看起来不对。
在这种情况下,如何获取真实数据?
答案 0 :(得分:0)
查看以下命令是否有效-
db.getCollection('vehicles').find({'results': {'name': 'A-WING FIGHTER'}})
您将结果命名为结果。尝试一下是否可以正常工作...
您也可以尝试使用以下代码段-
db.getCollection('vehicles').find({ results.name: 'A-WING FIGHTER' });
答案 1 :(得分:0)
通过
db.getCollection('vehicles').find({ 'result': { 'name': 'A-WING FIGHTER' } })
您要搜索完全匹配,因此结果必须是仅具有属性名称的对象
您应该改用点符号
db.getCollection('vehicles').find({ 'results.name': 'A-WING FIGHTER' })
希望有帮助
答案 2 :(得分:0)
要在MongoDB中搜索数组的数组,可以使用$ elemMatch运算符。
尝试此查询(此查询基于您共享的图片)
db.getCollection('items').find({'results': {'$elemMatch: {'$elemMatch: {'name': 'A-WING FIGHTER'}}}})
希望这会有所帮助。