Node.js 如何将对象插入MongoDB

Node.js 如何将对象插入MongoDB,node.js,mongodb,Node.js,Mongodb,因此,我有一个对象使用字典来存储用户在购物车应用程序中添加到购物车中的产品。我正在使用is对象并试图以零运气插入mongoDB 我尝试插入的数据如下所示: products: '{"rJUg4uiGl":{"productPrice":"78.34","count":2},"BJ_7VOiGg":{"productPrice":"3","count":2}}' } 我尝试将其插入mongoDB的过程如下所示: db.orders.insert("products":{"rJUg4uiGl":{

因此,我有一个对象使用字典来存储用户在购物车应用程序中添加到购物车中的产品。我正在使用is对象并试图以零运气插入mongoDB

我尝试插入的数据如下所示:

products: '{"rJUg4uiGl":{"productPrice":"78.34","count":2},"BJ_7VOiGg":{"productPrice":"3","count":2}}' }
我尝试将其插入mongoDB的过程如下所示:

db.orders.insert("products":{"rJUg4uiGl":{"productPrice":"78.34","count":2},"BJ_7VOiGg":{"productPrice":"3","count":2}});
目前,通过这种方法,我得到以下错误:

2016-12-15T18:11:43.862-0500 E QUERY    [thread1] SyntaxError: missing ) after argument list @(shell):1:27
这意味着插入它时存在某种格式问题。我移动了很多引号和括号,只是为了得到上面的错误,或者。。。mongoDB的回应暗示它正在等待我做更多的事情来修复导致错误的原因

有没有可能有人能提供一些关于在mongoDB中存储此对象的最佳方法的指导

我真正的问题是认为它应该与mongoose模式有关,该模式将用于存储此数据格式。我希望最初如何将其插入mongodb就足够了,但数据的保存方式让我有点困惑。我知道这是一个有点糟糕的问题,但我能得到任何帮助来设置我的模式吗

"products" : {
    "rJUg4uiGl" : {
        "productPrice" : "78.34",
        "count" : 2
    },
    "BJ_7VOiGg" : {
        "productPrice" : "3",
        "count" : 2
    }
}
这就是数据存储在mongo中时的样子。我认为让我困惑的是如何设置数据的“rJUg4uiGl”部分。我不确定这在猫鼬模式中究竟应该是什么样子。以下是我的一些拙劣尝试:

products: {
    productId: {
        productPrice: Number,
        count: Number
    }
}
上面的内容根本不在数据库中存储任何内容

products: {
    productId: [{
        productPrice: Number,
        count: Number
    }]
}
以上给出:

"products" : {
    "productId" : [ ]
}

再一次,我知道这是非常具体的,但是任何帮助都将不胜感激。

需要将插入数据包装在{}


插入({“产品”:{“rJUg4uiGl”:{“产品价格”:“78.34”,“计数”:2},“BJ_7VOiGg”:{“产品价格”:“3”,“计数”:2}})

db.orders.insert(“products”):
之后需要一个
{
来启动对象。这很尴尬。谢谢,这正是问题所在:(@Thilo我对我的问题进行了一些更新,以获得一些关于在猫鼬模式中设置此问题的有希望的指导。我知道这通常不是最重要的问题,但非常感谢您的帮助。@qxz您是否有机会帮助我解决我的真正问题?只是因为您在第一时间帮助我设置了此数据格式。另外,要知道这不是最大的问题,但再次强调,任何帮助都是非常感谢的。这很尴尬:(.谢谢你,这正是问题所在。我对我的问题进行了一些更新,以获得一些关于在猫鼬模式中设置此问题的有希望的指导。我知道这通常不是最重要的问题,但非常感谢任何帮助。@jmiraglai对猫鼬一无所知,但我大胆猜测你会想要“产品”是“产品”对象的数组。即产品:[{productId:Number,productPrice:Number,productCount:Number},{productId:Number,productPrice:Number,productCount:Number}]