我想知道在此查询中找到后第一个大括号{}
的需要是什么。
db.mycol.find({},{"title":1,_id:0})
答案 0 :(得分:4)
在限制边界的意义上,这是一个空查询。所以
db.mycol.find({},{"title":1,_id:0})
基本上会转换为
显示当前数据库中mycol集合的所有文档的标题,但不是_id(就像默认情况下那样)。
假设您想要由Alan Turing编写的所有标题。所以你可以像这样修改查询部分:
db.mycol.find({"author":"Alan Turing"},{"title":1,_id:0})
通常,MongoDB的查找操作可以像这样描述
db.collection.find(query,projection)
有关详细信息,您可能需要阅读find's documentation。
答案 1 :(得分:1)
第一个Curly大括号在 MySql
中用作where
条件
查看此链接 - SQL to MongoDB Mapping Chart
<强>的MySQL 强>
SELECT user_id, status FROM users WHERE status = "A"
<强> MongoDB的强>
db.users.find(
{ status: "A" },
{ user_id: 1, status: 1, _id: 0 }
)
答案 2 :(得分:0)
这称为projection并告知要显示的字段。例如,您只显示title
。它类似Select title from mycol;
如果您不指定投影,它将返回所有内容,接近select * from mycol;
_id
,除非您使用_id: 0
明确隐藏它。另一件事是你不能混合0和1(_id
除外)。但又一次 - read FAQ。
答案 3 :(得分:0)
您应该参考此链接以获得更好的解释 http://docs.mongodb.org/manual/reference/operator/projection/positional/
首先,投影不会返回它发现的第一个结果,它告诉mongo返回什么。
.findOne(查询)将LIMIT结果置于一个或查找(查询).limit(1)也将执行相同的操作。
你说你正试图全力以赴。你的数据。
标准查找类型查询将启动您的...
find({mongo:query},{mongo:projection})
但将结果限制为来自mongo shell *
的游标