2016-06-15 10 views
0

にオブジェクトを追加するには、Node.jsの使用:私は学校のプロジェクトで大きな問題を抱えているのMongoDBアレイ

私は私が持っているサーバーでは、サーバー、データベース、およびNode.jsのようにMongoDBを使用してサイトを作成しましたカートに製品を追加するための方法は、私はカートのアレイに追加しようとしているオブジェクトは、このです:

{"cart" : {"idproduct" : idproduct, "collectionproduct" : 'comicbooks'}} 

そして、私は配列にオブジェクトを追加するために使用しているコードは、このです:

db.collection("users").update({"_id": new ObjectId(userid)}, {$push: {"cart" : {"idproduct" : new ObjectId(idproduct), "collectionproduct" : 'comicbooks'}}}, { "$upsert": true });

実際の奇妙な私はmongo自体でそれを試してみましたが、うまくいきましたが、ノードコードを実行しようとすると、それはできませんが、エラーが出ることさえありません。

私は$addToSetと同じことをやってみましたが、ノードは動作しませんが、エラーは出ませんが、mongoでは動作します。

問題が何であるか知っていれば、できるだけ早く手伝ってください。

+0

mongooseを使ってmongoDBに接続するか、mongoDriverに接続するのが好きですか? – sachgits

+0

ちょうどmongoDriver私は –

答えて

0

あなたがmongodb-nativeを使用している場合は、この

var insertDocuments = function(db, callback) { 
    var collection = db.collection('users'); 
    collection.insert([ 
    "cart" : {"idproduct" : idproduct, "collectionproduct" : 'comicbooks'}} 
    ], function(err, result) { 
    callback(result); 
    }); 
} 

を試してみて、

insertDocuments(db, function() { 
    db.close(); 
}); 

を使用して関数を呼び出し、これは、あなたの質問に答えますか?

+0

と思うUnfortunatellyそれは、とにかくおかげで、うまくいきません –

+0

何が問題ですか?おそらくあなたのmongoサーバーに接続する方法について、より多くのコードを教えてください –

+0

問題は、それはエラーを起こさないということです私がdb.users.find()を実行した場合、操作を実行しません。mongoで私がボタンをクリックしたユーザーに表示される関数を起動した後pretty()カートの配列を挿入しようとしています。私は実際にどこに問題があるのか​​正確には分かりませんが、うまくいきません。 –

関連する問題