用Mongoose插入文档

这是我的Mongoose模式:

var DealSchema = new Schema({ deal:{ dealid:{ type: String, require: true, unique: true, }, title: String, }, // Embedded sub-document details: { detail: String, price: Number // USE: deal.details.price } }) 

我的插入语句如下所示:

 db.deals.insert({ deal.dealid: '1', deal.title: 'deal', details.detail: 'Free Food', details.price: 200 }) 

我得到的错误:

 SyntaxError: missing : after property id @(shell):2:4 

不知道这个错误是什么意思 – 我该如何解决?

插入中的对象语法不正确 – 它必须是正确的JSON,除非您使用点符号作为@krl解释。

假设你正在使用Mongoose:

 db.deals.insert({ deal: { dealid: '1', title: 'deal' }, details: { detail: 'Free Food', price: 200 } }); 

要使用点符号指定或访问embedded式文档的字段,请将embedded文档名称与点(。)和字段名称连接起来,并用引号括起来(单引号和双引号都可接受)(请参见文档>点符号>embedded式文档 ):

 db.deals.insert({ 'deal.dealid': '1', 'deal.title': 'deal', 'details.detail': 'Free Food', 'details.price': 200 }) 

该调用中的JSON格式无效。 尝试这个:

 db.deals.insert({ deal: { dealid: '1', title: 'deal' }, details: { detail: 'Free Food', price: 200 } });