db.insert(doc, callback)
作用:
插入文檔數(shù)據(jù)(文檔相當于mysql表中的一條記錄)。如果文檔不包含_id字段,NeDB會自動生成一個,該字段是16個字符長度的數(shù)字字符串。該字段一旦確定,就不能被更改。
參數(shù):
doc: 支持String, Number, Boolean, Date, null, array以及object類型。如果該字段是undefined類型,將不會被保存,這里和MongoDB處理方式有點不同,MongoDB會將undefined轉(zhuǎn)換為null進行存儲。字段名稱不能以"$"開始,也不能包含"."。
callback(可選): 回調(diào)函數(shù),包含參數(shù)err以及newDoc,err是報錯,newDoc是新插入的文檔,包含它的_id字段。
示例
var doc = { hello: 'world'
, n: 5
, today: new Date()
, 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,實現(xiàn)批量插入。一旦其中一個操作失敗,所有改變將會回滾。
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字段有唯一性約束,該操作將會執(zhí)行失敗。
db.insert([{ a: 5 }, { a: 42 }, { a: 5 }], function (err) {
// err is a 'uniqueViolated' error
// The database was not modified
});
更多建議: