現在、私はMongoDBデータベースの要素を並べ替えることができる小さなJavascriptアプリケーションを作成しています。データベース内のすべてのエントリには、その位置を表す「順序」というフィールドがあります。MongoDB/Node.js:異なるオブジェクト間のフィールドの入れ替え
"up"に移動するdbのエントリを選択すると、 "order - 1"の位置を持つ理論的に隣接する要素の間で "order"フィールドを交換したいと思います。ここで
collection.find({ "name": request.body.itemToMove }).toArray(function(err,doc) {
ordernum = doc[0].order;
});
私はMongoDBの要素から順にフィールドをつかんだ:ここで
は、私がこれまで持っているコードです。 ordernum-1というデータベースエントリを参照する必要があります。これは、リスト内で上に移動したいエントリの上に位置するエントリです。明らかに、私がdoc [0] .orderを使用して取得したオブジェクトは、データ型ではありません。私は数学演算子を使用して作業することができます。
swapIndex = ordernum - 1
しかし
console.log(ordernum);
がコンソールに番号を印刷し、動作しません。また、オブジェクト自体を使用してデータベースにクエリを実行するだけで、クエリが失敗することもあります。
collection.find({ "order": ordernum }).toArray(function(err,doc) {
//Do something
});
これも失敗します。 「注文」フィールドを交換する方法を考え出す方法はありますか?