在我的MongoDB中,我想要等同于
SELECT column1, column2
FROM tbl
使用这段代码,我得到了所有的“行”和所有的“列”。
DBCollection collection = database.getCollection("names");
DBCursor cursor = collection.find();
例如,我想要对所有的行进行,但只对‘’进行:id,,
我该怎么做呢?
谢谢你的帮助!!
发布于 2011-08-26 22:25:42
db.collection.find({},{_id: 1,姓名: 1,年龄: 1})
要查找的第一个参数(谓词)是您的选择标准,例如
db.collection.find({年龄:{$gte: 21}})
第二个限制了您检索的字段,因此对于每个21岁或以上的人的名字:
db.collection.find({年龄:{$gte: 21}},{姓名: 1})
字段选择器始终拉回_id,除非您特别将其关闭:
db.collection.find({},{_id: 0})
但是,默认情况下,Mongo不会检查字段是否存在。如果要选择某些字段,并且只匹配包含这些字段的结果,则需要使用:
db.collection.find({年龄:{ $exists: true } })
MongoDB网站对.find()函数有更详细的描述!
发布于 2011-08-29 16:54:16
谢谢!,我用下面的代码修复了它。
BasicDBObject select = new BasicDBObject();
select.put("id", 1);
select.put("name", 1);
select.put("age", 1);
collection.find(new BasicDBObject(), select);
上面的代码给了我所有的记录,只有上面的列名。
发布于 2018-06-23 04:29:02
如果您想选择一个或多个列,如SQL查询。例如,如果您的SQL查询如下
select name, content from knowledgebase where applicationId='2955f3e174dce55190a87ed0e133adwdeb92';
MongoDB查询:
db.knowledgebase.find({ "applicationId": "2955f3e174dce55190a87ed0e133adwdeb92"}, { "name": 1, "content": 1});
https://stackoverflow.com/questions/7206035
复制相似问题