文件插入与猫鼬

时间:2016-06-19 04:58:35

标签: javascript node.js mongodb mongoose

这是我的Mongoose架构:

Sub Updated()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
    If Left$(ws.Name, 11) = "Hello World" Then
        With ws
    'do something
        End With
    End If
Next ws
End Sub

我的插入声明如下:

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

不确定此错误的含义 - 我该如何解决?

3 个答案:

答案 0 :(得分:3)

要使用点表示法指定或访问嵌入文档的字段,请将嵌入的文档名称与点(。)和字段名称连接起来,并用引号括起来(单引号和双引号都可以接受)(请参阅{{ 3}}):

db.deals.insert({
    'deal.dealid': '1',
    'deal.title': 'deal',

    'details.detail': 'Free Food',
    'details.price': 200
})

答案 1 :(得分:2)

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

假设您使用的是Mongoose:

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

答案 2 :(得分:1)

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

db.deals.insert({
    deal: {
           dealid: '1',
           title: 'deal'
    },

    details: {
           detail: 'Free Food',
           price: 200
    }
});