MongoDB插入数据的3种方法

insert()方法:
    下面是在inventory集合中插入一个三个字段的文档:
       

代码如下:

db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )

在实示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一。
update()方法:
    调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件的文档时。下面的例子当inventory集合中没有包含{type:"books",item:"journal"}的文档时创建一个新文档:

代码如下:

db.inventory.update(
                         { type: "book", item : "journal" },
                         { $set :     { qty: 10 } },
                         { upsert :true     }
                )

MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。新文档包含来自查询<query>条件的item和type字段,和来自更新<update>参数的qty字段:
      

代码如下:

{ "_id" : ObjectId("51e8636953dbe31d5f34a38a"), "item" : "journal", "qty" : 10, "type" : "book" }

save()方法:
    使用save()方法插入一个文档,通过该方法保存一个不包含_id字段的文档或者包含_id字段但该字段值不存在集合中的文档。下面的示例创建一个新的文档在inventory集合:
       

代码如下:

db.inventory.save( { type: "book", item: "notebook", qty: 40 } )

MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。
       

代码如下:

{ "_id" : ObjectId("51e866e48737f72b32ae4fbc"), "type" : "book", "item" : "notebook", "qty" : 40 }

(0)

相关推荐

  • Node.js和MongoDB实现简单日志分析系统

    在最近的项目中,为了便于分析把项目的日志都存成了JSON格式.之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中.log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势.系统的性能漏洞等.之前有一个用Java写的分析模块,运行在Tomcat下.实现相当的重量级,添加一个新指标的流程也比较繁琐,而且由于NFS的原因还导致分析失败.一直想改写,最初想用Ruby On Rails,可是一直没有时间学习和开发(在找借口啊!).在杭州QCon 201

  • MongoDB日志文件过大的解决方法

    MongoDB的日志文件在设置 logappend=true 的情况下,会不断向同一日志文件追加的,时间长了,自然变得非常大. 解决如下:(特别注意:启动的时候必须是--logpath指定了log路径的) 用mongo连接到服务端 复制代码 代码如下: use admin  //切换到admin数据库 db.runCommand({logRotate:1}) 这样会使mongo关闭当前日志文件,重启一个新的日志文件,不需要停止mongodb服务.

  • nginx日志分割 for linux

    使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限 复制代码 代码如下: chmod +x cutlog.sh 然后使用crontab -e 将此脚本加入到计划任务中, 复制代码 代码如下: 00 00 * * * /bin/bash /root/cutlog.sh 让此脚本每天凌晨0点0分执行. 复制代码 代码如下: #!/bin/bash#function:cut nginx log files shell#设置您的网站访问日志保存的目录,我的

  • MongoDB常用操作命令大全

    如:如果你想创建一个"myTest"的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫"myTest"的数据库. 一.数据库常用命令1.Help查看命令提示 复制代码 代码如下: helpdb.help();db.yourColl.help();db.youColl.find().help();rs.help(); 2.切换/创建数据库 复制代码 代码如下: use you

  • Linux下日志按日分割的shell

    这个脚本是在LNMP论坛找到的,感觉很不错~~ 脚本如下: #!/bin/bash #function:cut nginx log files for lnmp v0.5 and v0.6 #author: http://lnmp.org #设置你的日志存放的目录 log_files_path="/home/wwwlogs/" #日志以年/月的目录形式存放 log_files_dir=${log_files_path}$(date -d "yesterday" +&

  • nginx多server日志分割脚本分享

    1,配置多个server日志只要在$website变量增加并用空格分开就行.2,循环创建日志目录3,分割后用xz 压缩,当然没安装可以用gzip bzip2等等.4,注意我配置nginx日志文件名为 "access_{{站点网站}}.log" "error_{{站点网站}}.log" 复制代码 代码如下: # !/usr/bin/bashlog_dir="/usr/local/nginx/logs"back_log_dir="/disk

  • MongoDB各种查询操作详解

    一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询. 1.查询全部 空的查询文档{}会匹配集合的全部内容.如果不指定查询文档,默认就是{}. 2.部分查询 3.键的筛选 键的筛选是查询时只返回自己感兴趣的键值,通过指定find的第二个参数来实现.这样可以节省传输的数据量,又能节省客户端解码文档的时间和内存消耗. 查询时,数据库所关心的查询文档的值必须是常量. 二.查询条件 1.比较查询 $lt,$lte,$gt,$gte,$ne和<,<

  • mongodb 实现远程连接

    mongodb远程连接配配置,分以下4步. 1,添加管理员账 > use admin switched to db admin > db.addUser('tank','test'); 2,配置mongodb.conf #bind_ip = 127.0.0.1 //注释此行 auth = true //将此行前的注释去掉 3,重启mongodb /etc/init.d/mongod 4,防火墙开放27017端口 iptables -A INPUT -p tcp -m state --state

  • apache使用日志分割模块rotatelogs分割日志详解

    rotatelogs 是 Apache 2.2 中自带的管道日志程序 语法 复制代码 代码如下: rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ] 选项-l使用本地时间代替GMT时间作为时间基准.注意:在一个改变GMT偏移量(比如夏令时)的环境中使用-l会导致不可预料的结果. logfile它加上基准名就是日志文件名.如果logfile中包含"%",则它会被视为用于strftime()的格式字符串:

  • MongoDB运行日志实现自动分割的方法实例

    前言 其实所谓自动分割MongoDB日志文件,就是指Rotate MongoDB log files,即让MongoDB每天(或每个星期,可自定义控制)生成一个日志文件,而不是将MongoDB所有的运行日志都放置在一个文件中,这样每个日志文件都相对较小,定位问题也更容易. 实现自动分割MongoDB日志的方法可以参考:https://docs.mongodb.com/manual/tutorial/rotate-log-files/ 现在以一个MongoDB实例为例,可以写一个脚本来实现自动分割

随机推荐