首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MongoDB数据库,等同于SELECT column1、column2 FROM tbl

MongoDB数据库,等同于SELECT column1、column2 FROM tbl
EN

Stack Overflow用户
提问于 2011-08-26 22:17:04
回答 3查看 25.7K关注 0票数 19

在我的MongoDB中,我想要等同于

代码语言:javascript
复制
  SELECT column1, column2
  FROM tbl

使用这段代码,我得到了所有的“行”和所有的“列”。

代码语言:javascript
复制
  DBCollection collection = database.getCollection("names");
  DBCursor cursor = collection.find();

例如,我想要对所有的行进行,但只对‘’进行:id,

我该怎么做呢?

谢谢你的帮助!!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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()函数有更详细的描述!

票数 40
EN

Stack Overflow用户

发布于 2011-08-29 16:54:16

谢谢!,我用下面的代码修复了它。

代码语言:javascript
复制
    BasicDBObject select = new BasicDBObject();
    select.put("id", 1);
    select.put("name", 1);
    select.put("age", 1);
    collection.find(new BasicDBObject(), select);

上面的代码给了我所有的记录,只有上面的列名。

票数 1
EN

Stack Overflow用户

发布于 2018-06-23 04:29:02

如果您想选择一个或多个列,如SQL查询。例如,如果您的SQL查询如下

代码语言:javascript
复制
select name, content from knowledgebase where applicationId='2955f3e174dce55190a87ed0e133adwdeb92';

MongoDB查询:

代码语言:javascript
复制
db.knowledgebase.find({ "applicationId": "2955f3e174dce55190a87ed0e133adwdeb92"}, { "name": 1,    "content": 1});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7206035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档