【发布时间】:2018-02-12 15:37:34
【问题描述】:
我的 mongodb 表有一个字段,其对象值类似于
_id : ObjectId("59ad227e191cc3a4c33ade07")
user_info : {"first_name": "Shraddha", "last_name": "Banerjee", "Zip": "90242", "City": "SantaBarbara"}
我想查找邮编为 90242 的用户。
我试着这样做:
$users = User::where('user_info.Zip','=', 90242)->get();
但这给了我空的结果。 如何实现?
【问题讨论】:
-
先使用
$info = $user_info['Zip'];,然后使用$users = User::where($info,'=', 90242)->get();让我知道这是否有效! -
你试过了吗??
-
嗨@Hiren,它不起作用。它是一个存储在 user_info 中的对象。它给出错误:未定义的变量:user_info。好吧,我也尝试过使用 $info = "user_info.Zip"; $users = User::where($info,'=', 90242)->get();
-
$user_info我说,你需要把你的变量带到json对象的来源! -
我只有来自我的 POST 请求的 Zip。这个 JSON 是存储在我的 mongoDB 集合中的文档。这是我在 MySQL 中实现的: $users = User::where('user_info->Zip', $zip) ->where('user_info->DateOfBirth', 'like', '%'.$date_of_year. '%') ->get(['user_info', 'user_id']);但是使用 mongo 无法获取它..
标签: mongodb laravel connection jenssegers-mongodb