Nedb db.insert()

2018-07-11 19:26 更新

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
});


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號