繁体   English   中英

MongoDB集合格式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM