如何搜索字段并返回对象

时间:2019-03-27 00:36:31

标签: mongodb

我为学校分配了一个与啤酒相配的约会应用程序。不幸的是,我在查找如何以模板插入编号作为对象的数据库搜索中遇到麻烦。

我已经尝试过阅读MongoDB docs

上的内容

数据库如下:

beerProfile: Object
 ↳24589: Object 
  ↳name: "Heineken"
   img: "https://untappd.akamaized.net/site/beer_logos/beer94130_52756_sm.jpeg"
   description: "Heinken is a beer"
   bid:"24589"

所以beerProfile是一个对象,并且内部有对象24589。 24589对象内部是名称,imd,描述和出价。

我尝试使用find()函数。 (该集合称为用户)

db.collection('users').find( { [24589]: [{name: [Heineken]}] }, { name: 1, bid: 1 }, done);

我也尝试过:

db.collection('users').find( { $text: { $search: 24589 } }, done);

我想使其返回24589对象的对象值。有人能做到吗?

1 个答案:

答案 0 :(得分:0)

我认为通过使用变量(24589)作为键,您的“模式”变得不必要地复杂。您应该将其更改为以下内容:

beerProfile: Object
 ↳beer: Object 
  ↳name: "Heineken"
   img: "https://untappd.akamaized.net/site/beer_logos/beer94130_52756_sm.jpeg"
   description: "Heinken is a beer"
   bid:"24589"

然后您可以使用简单的find():

db.collection('users').find( { "beer.bid": "24589"})