2016-06-19 7 views
4

に挿入し、私のマングーススキーマです:次のようにドキュメントはここでマングース

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

私のinsert文は次のとおりです。

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

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

私は取得していますエラー:

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

わからないものを、このエラーの意味 - どうすれば修正できますか?

答えて

2

挿入であなたのオブジェクトの構文が正しくありません - @krlが説明したようにあなたは、ドット表記を使用しない限り、それは、適切なJSONにする必要があります。あなたはマングースを使用していると仮定すると、

:(。)

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

ありがとうございました。私は両方の方法を学びました。正しいjsonの方法とdot(。)メソッドの埋め込み文書。 – impossible

1

JSON形式の呼び出しが無効です。これを試してみてください:

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

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

をドットで埋め込まれた文書名を連結し、ドット表記が埋め込まれた文書のフィールドを指定したり、アクセスするには、フィールド名、および囲み(二重引用符でも可)(Documents > Dot Notation > Embedded Documents参照):

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

    'details.detail': 'Free Food', 
    'details.price': 200 
}) 
関連する問題