Javascript 如何修复';Can';t插入未定义的键,它违反了唯一约束';NeDB中的错误?
我正在尝试将NeDB用于我的vue.js应用程序,但在第二次尝试保存数据时出现以下错误 错误是: 无法插入未定义的键,它违反了唯一约束 我正在用electron vue制作应用程序 我检查了数据库文件,发现没有生成_id字段。我认为应该自动生成_id字段 src\renderer\datastore.jsJavascript 如何修复';Can';t插入未定义的键,它违反了唯一约束';NeDB中的错误?,javascript,vue.js,electron,nedb,Javascript,Vue.js,Electron,Nedb,我正在尝试将NeDB用于我的vue.js应用程序,但在第二次尝试保存数据时出现以下错误 错误是: 无法插入未定义的键,它违反了唯一约束 我正在用electron vue制作应用程序 我检查了数据库文件,发现没有生成_id字段。我认为应该自动生成_id字段 src\renderer\datastore.js import Datastore from 'nedb' import path from 'path' import { remote } from 'electron' export de
import Datastore from 'nedb'
import path from 'path'
import { remote } from 'electron'
export default new Datastore({
autoload: true,
filename: path.join(remote.app.getPath('userData'), '/data.db')
})
src\renderer\main.js
import db from './datastore'
Vue.prototype.$db = db
src\renderer\components\MyApp.vue
<template>
<div>
<form v-on:submit.prevent="insertShelf">
<ul>
<li>
<label>Shelf Number</label>:
<input type="text" name="shelfNum" v-model="newInput.shelfNum">
</li>
<ul v-for="(book, index) in newInput.books">
<li>
<label>Title</label>:
<input type="text" name="title" v-model="book.title">
</li>
<li>
<label>Author</label>:
<input type="text" name="author" v-model="book.author">
</li>
</ul>
<input type="submit" value="Submit">
</form>
</div>
</template>
<script>
export default {
data () {
return {
newInput: {
shelfNum: '',
books: [
{
title: '',
author: ''
}
]
},
shelfList: []
}
},
watch: {
shelfList: {
handler: function () {
this.$db.insert(JSON.stringify(this.shelfList), function (err, newDoc) {
console.log('err', err)
console.log('newDoc', newDoc)
})
}
}
},
methods: {
insertShelf: function () {
this.shelfList.push({
shelfNum: this.newInput.shelfNum,
books: this.newInput.books
})
this.newInput = {
shelfNum: '',
books: [
{
title: '',
author: ''
}
]
}
}
}
}
</script>
不会产生_id场
请帮帮我。说“[I]意识到我在字段上设置了唯一索引,但我正在升级的对象不包含该属性。这导致插入第一条记录,因为唯一字段的值未定义,但下一条记录不会插入,因为它们在唯一字段上具有相同的值。”这也是我的问题。也许是你的?表示“[I]意识到我在字段上设置了唯一索引,但我正在升级的对象不包含该属性。这导致插入第一条记录,因为唯一字段的值未定义,但下一条记录不会插入,因为它们与唯一字段的值相同。”这也是我的问题。也许是你的?
"[{\"shelfNum\":\"12345\",\"books\":[{\"title\":\"Winnie-the-Poo\",\"author\":\"A. A. Milne\"}]}]"