[mysql]选择只在某些领域,如果只有一个字段值已知在 mongodb 中

标签: MySQL mongodb
发布时间: 2017/1/9 22:54:13
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有userDetails集合中存储文档中的这样的 MongoDB:

{
  objectid      : 'xxxxx'
  "name"        : "value",
  "email"       : "xyz@example.com" ,
  "phone"       :  123123 ,
  "age"         :  19 ,
  "gender"      :  "male"
  "description" : 'xxxx'
 }

现在考虑我只知道该用户的电子邮件和没有其他细节如何将取只有名字和电话严格。

db.userDetails.find( { "email" : "xyz@example.com"  }  )

这返回我的整个的详细信息的用户。

从 MySQL 背景所以今后我会质疑它像这样︰

select name , phone from userDetails where email ='xyz@example.com'

在 monodb 上面的 sql 查询最佳的选择会是什么? 谢谢你帮忙

解决方法 1:

看看文件。Find 函数有一个可选第二个参数被称为"投影"使您能够指定哪些字段你想要。

db.userDetails.find( 
  { "email": "xyz@example.com" }, 
  { "_id": 0, "name": 1, "phone" : 1 }, 
)
赞助商