2、db.insert(doc, callback)
作用:
插入文档数据 (文档相当于 mysql 表中的一条记录)。如果文档不包含_id 字段,NeDB 会自动生成一个,该字段是 16 个字符长度的数字字符串。该字段一旦确定,就不能被更改。
参数:
doc: 支持 String, Number, Boolean, Date, null, array 以及 object 类型。如果该字段是 undefined 类型,将不会被保存,这里和 MongoDB 处理方式有点不同,MongoDB 会将 undefined 转换为 null 进行存储。字段名称不能以”$” 开始,也不能包含”.”。
callback(可选): 回调函数,包含参数 err 以及 newDoc,err 是报错,newDoc 是新插入的文档,包含它的_id 字段。
示例
vardoc={hello:'world'
,n:5
,today:newDate()
,nedbIsAwesome:true
,notthere:null
,notToBeSaved:undefined // 该字段不会被保存
,fruits:['apple','orange','pear']
,infos:{name:'nedb'}
};
db.insert(doc,function(err,newDoc){ // Callback is optional
// newDoc is the newly inserted document, including its _id
// newDoc has no key called notToBeSaved since its value was undefined
});
// 使用array,实现批量插入。一旦其中一个操作失败,所有改变将会回滚。
db.insert([{a:5},{a:42}],function(err,newDocs){
// Two documents were inserted in the database
// newDocs is an array with these documents, augmented with their _id
});
// 如果a字段有唯一性约束,该操作将会执行失败。
db.insert([{a:5},{a:42},{a:5}],function(err){
// err is a 'uniqueViolated' error
// The database was not modified
});
当前内容版权归 腾讯AlloyTeam 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 腾讯AlloyTeam .