2

このようなデータがあります

Mywants:[
    {"title":"lap","rate":$20}
    {"title":"lap","rate":$20}
    {"title":"lap","rate":$20}
]

新しいデータを配列(mywant)に保存する場合、新しい一意のIDで保存する必要があるため、JavaScriptを使用してそのように保存する方法. したがって、次のようになります。

Mywants:[
    {"title":"lap","rate":$20,_id:objectId("512640f3243c837c0e0004401}
    {"title":"lap","rate":$20,_id:objectId("512640f3243c837254000001}
    {"title":"lap","rate":$20,_id:objectId("512640f3243c8372540257001}}
]

挿入するには、次のようなコマンドを使用しています

collection.update({"userid":1248787885},{$push:{"Mywant":{"title":"car","rate":$100}}});
4

3 に答える 3

2

andyb が指摘しているようにObjectId、新しい要素を作成して、新しい要素の を生成する必要があります。ただし、別のライブラリは必要ありません。

var mongodb = require('mongodb');
collection.update(
    {"userid":1248787885},
    {$push:{"Mywant":{
        _id: new mongodb.ObjectID(),
        "title":"car",
        "rate":$100
    }}});

もちろん、$100は有効な JavaScript 型ではありませんが、それはご存知だと思います。また、 Mongooseがこのフィールドの配列要素への追加を行うことも注目に値する_idため、これは別の方法です。

于 2013-02-22T14:08:42.987 に答える
1

JavaScriptでmongoDBを生成するObjectIdには、既存のライブラリを使用するか、BSONObjectId仕様を自分で実装します。ObjectId.jsはそのようなライブラリの1つであり、IDの取得は次のように簡単です。

var objectId = new ObjectId();
于 2013-02-22T08:25:27.357 に答える
0

JavaScript には、Math.random() と呼ばれるメソッドが 1 つあります。このメソッドは動的乱数を作成するため、この数値を動的 ID として変更できます。

于 2013-02-22T09:52:26.950 に答える