[英]MongoDB Collections format
我需要将餐厅及其相应的菜单项存储起来,所以我做了这样的事情
{ name: 'Foo',
menu:
[ { item: 'foo',
description: '...',
price: 20 },
{ item: 'bar',
description: '...',
price: 30 } ]
}
问题是我有时需要访问此项目,但是这样做并不容易,我应该使用类似的方法吗?
{ name: 'Foo',
menu:
{ "0": { item: 'foo',
description: '...',
price: 20 },
"1": { item: 'bar',
description: '...',
price: 30 } }
}
我认为找到特定商品便宜。
使用通过数字键可访问的嵌入式对象很少是正确的方法。 MongoDB的操作员可以方便地访问数组中的项目,从而提供更好的灵活性。
有关仅提取所需数组元素的方法,请参见$elemMatch
和$
projection运算符。
例如,要从第一个示例文档中获取'foo'
菜单项,请执行以下操作:
db.restaurants.findOne({name: 'Foo'}, {menu: {$elemMatch: {item: 'foo'}}});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.