用mongodb查询的时候,如何只查询出某一个字段的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用mongodb查询的时候,如何只查询出某一个字段的值?相关的知识,希望对你有一定的参考价值。

将相同字段的值加在一起需要用sum函数。

如emp表中有如下数据:

现要按deptno为分组,将sal的值加在一起,可用如下语句:

select deptno,sum(sal) sal from emp group by deptno;

查询结果:

参考技术A

30种mysql优化sql语句查询的方法

1.对查询进行...如果你的表只有一个字段的话那count(*)就是最快的。

    php 扩展mongon.mod.dll下载http://cn.php.net/manual/en/mongo.installation.php#mongo.installation.windows

    然后php.ini添加 extension=php_mongo.dll

    最后phpinfo() 查找到

    表标PHP已经自带了mongo功能,你就可以操作下面的代码(但是你必须有安装mongodb服务器)

运行MongoDB查询以更新循环中的序列字段

我有一个集合,我承认从1 db导出并导入到另一个。

我在集合上有一个名为'seqNo'的字段,它只保存文件的运行计数,在导入过程中我导入了重复的seqNo值。

我现在正在尝试,弄清楚如何遍历集合中的文档,在1之后更新文档,并使用该seqNo的递增计数器。

我一直在阅读文档,看看如何使用递增的数字插入,但看起来更像是一个函数,并且不确定如何通过更新来执行此操作。

https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field/

我正在寻找的地方,似乎更像是永恒的东西,而不是我真正想做的事情。

答案

用这个找到我的答案。

在mongo shell中,首先为计数器设置初始值。

var counter = 0

您只需输入变量名称并按回车即可随时在mongo shell中查看此计数器。

> counter

0

现在,创建一个forEach函数并随时迭代计数器。

db.questions.find({}).forEach(function(doc){ 
  var = counter + 1; 
  db.questions.update({ _id: doc._id }, { $set: { seqNo: counter }}); 
})

我花了几次尝试才意识到我确实需要_id: doc._id更新部分的限定符。没有它,它没有更新任何东西。

以上是关于用mongodb查询的时候,如何只查询出某一个字段的值?的主要内容,如果未能解决你的问题,请参考以下文章

SQL如何查询出某一列中不同值出现的次数?

求助啊,tp下,mongodb如何查询后只返回某个字段值

Mongodb模糊查询返回有查询到内容的字段?

怎么一次查询出某一字段相同的全部数据

java 如何查询mongodb字段名称?

Mongodb用populate返回更新的对象