mongodb数据库中插入数据

一:connection 访问集合;

在mongodb数据库中,数据是存储在许多数据集合中,可以使用数据库对象的collection方法访问一个集合。该方法使用如下:

db.collection(collectionName, [options], [callback]);

collectionName参数值是一个字符串,用于指定需要访问的集合名,该参数是必须填写的。
options参数值为一个对象,用于指定访问该集合时使用的选项,使用的属性可以百度搜索下,选项比较多,用到的时候可以查下。
callback参数用于指定访问集合操作执行结束时的回调函数,该回调函数的指定方法如下:

function(err, collection) {

}

在该回调函数中,可以使用二个参数,第一个参数值为访问对象操作失败时抛出的错误对象,第二个参数值为一个Collection对象,代表被访问的集合,当访问集合失败时,该参数值为null.
二:Collection对象insert方法

我们可以使用Collection对象的insert方法向该集合中插入一个数据文档,在该数据库中每一条数据都是一个数据文档。该方法使用如下:

collection.insert(docs, [options], [callback]);

在insert方法中,有3个参数,docs为必选的参数,该参数值为一个JSON对象或一个由JSON对象构成的数组,用于指定需要插入的数据文档。
options参数为一个对象,用于指定插入数据时使用的选项,该属性具体值可以百度下,选项有点多,这里不介绍。
callback参数用于指定插入数据操作执行结束时的回调函数,如下:

function(err, docs) {};

在该回调函数中,可以使用两个参数,第一个参数为插入数据操作失败时抛出的错误对象,第二个参数值为一个JSON对象或由一个JSON对象构成的数组,代表被插入的数据文档,当插入数据操作失败时,该参数值为null.

下面是向数据库插入users集合,来插入一个数据文档。当数据文档成功插入时候,在控制台中输出该数据文档内容,并关闭数据库连接,如下代码:

const mongo = require(‘mongodb‘);
const Server = mongo.Server;
const Db = mongo.Db;

const server = new Server(‘localhost‘, ‘27017‘, { auto_reconnect: true });
const db = new Db(‘dataDb‘, server, { safe: true });

db.open(function(err, db) {
  if (err) {
    throw err;
  } else {
    console.log(‘成功建立数据库连接‘);
    db.collection(‘users‘, function(err, collection) {
      collection.insert({userName: ‘空智‘, age: 30}, function(err, docs) {
        if (err) {
          throw err;
        } else {
          console.log(docs);
          db.close();
        }
      })
    });
  }
});

如下图所示:

原文地址:https://www.cnblogs.com/tugenhua0707/p/9217308.html

时间: 2024-07-29 05:58:49

mongodb数据库中插入数据的相关文章

用java向mysql数据库中插入数据为空

利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util.Scanner; import org.junit.Test;public class JDBCTest { //2).在测试方法testAAddStudent()中 //1.获取从控制台输入的Student对象:Student student=getStudentFromConsole(); /

解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

我们使用Spring中的JdbcDaoSupport往Mysql中插入数据并返回主键代码,我们使用的mysql数据库,主键在数据库中设置为自增长:该类继承自JdbcDaoSupport,所以能直接使用getJdbcTemplate() public int saveUser(String userName,int age,String password){ getJdbcTemplate().update(new PreparedStatementCreator() { public Prepa

向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例UserInfo数据是正确的,所以只能是SQL语句的问题: 曾今一度怀疑这样使用Sequence是错误的,中途变换了触发器,弄了变天触发器也些错误了, 再次回到直接用序列,仔细之下,终于发现这个分号‘:’,这里应该为‘:’,实在是太小了,很难发现,以后这里最好留一个空格.

以使用QSqlQuery向数据库中插入数据为例,做一个小结

背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都是字符串类型,然而不同字段的数据类型是不同的,这 里需要获取不同字段的数据类型,再做类型转换 2.使用QSqlQuery插入数据时,具体实现的考虑 3.在实现一个功能时,是先将功能做出来,然后对一些最初未考虑到的问题慢慢补足,还是先尽可能考 虑到所有情况,再实现相关功能 4.此时某个函数的实现,是否

在MongoDB数据库中查询数据(上)

在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.find(selector, [options]); selector值为一个对象,用于指定查询时使用的查询条件,options是可选的参数,该参数值是一个对象,用于指定查询数据时所选用的选项. find方法返回一个代表游标的Cursor对象,在该游标中包含了所有查询到的数据文档信息.可以使用Cursor对象的toArray方法获取所有查询到

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo

JDBC向数据库中插入数据

新建数据库,并插入相关数据. 1 create database bbs; 2 3 use bbs; 4 5 create table article 6 ( 7 id int primary key auto_increment, 8 pid int, 9 rootid int, 10 title varchar(255), 11 cont text, 12 pdate datetime, 13 isleaf int 14 ); 15 16 insert into article values

向数据库中插入数据时字符集或查询是数据无法正常显示出现乱码问题

当向数据库插入数据出错或出局无法正常显示出现乱码时.首先应该想到的是数据库的编码问题.查看当前数据库服务器默认对数据库处理的字符集 show variables like  'character_set%'; character_set_client: 默认客户端来的数据格式 character_set_connection : 连接层字符集 character_set_database:  当前数据库字符集 character_set_results:服务器给外部的字符集 假如客户端字符集与数

.NET中批量给数据库中插入数据

很多时候我们需要把一个txt.xml.excel等文件中的数据插入到数据库中指定的表中.用传统的读取数据构造SQL语句插入性能会很慢(应为要频繁的执行ExectueNonQuery方法),特别是数据量非常大的时候,这个方法不能满足我们的需求,这时微软为我们提供了一个类SqlBulkCopy,能让我们把一个数据块拷贝到指定的数据表中,下面是SQLBulkCopy类使用的一个Demo: 1 #region SqlBullCopy实现,性能很好 2 Stopwatch watch = new Stop