mongodbの更新操作の更新
2022-02-11 20:25:41
https://docs.mongodb.com/manual/tutorial/update-documents/index.html これはmongdbのAPIを献本したものです。
公式サイトにある3つの更新操作について、ここではメモとして解説しています
db.inventory.updateOne(
{ item: "paper" }
{
$set: { "size.uom": "cm", status: "P" },
$currentDate: { lastModified: true }
}
)
これは、更新操作のために項目値を一致させて、一度に1ホップのレコードを更新することを意味する
db.inventory.updateMany(
{ "qty": { $lt: 50 } }
{
$set: { "size.uom": "in", status: "P" }
$currentDate: { lastModified: true }
}
)
これは、複数のレコードを一度に更新することを指しています。
{ "qty": { $lt: 50 } }
これは、qtyというプロパティに50未満の値が設定されているデータを指します。
The mongodb conditional operators, "$lt", "$lte", "$gt", "$gte", "$ne" are all the comparison operators, "<", "$lte", "$gt", "$gt", "$gte", "$ne".
corresponding to "<", "<=", ">", ">=", ">=", "! =".
Atomic operators: "$and", "$or", "$nor".
There are two ways to do an or query: one is to use $in to query multiple values of a key, and the other is to use $or to complete multiple key values for any given value.
$in is equivalent to the in operation of the SQL statement.
$nin is not.
$not is extremely useful when used in conjunction with regular expressions to query which documents do not match a particular pattern.
$slice is the slicing equivalent of the array function, retrieving an array of documents and fetching a portion of the array. Limiting a large number of elements in a collection saves bandwidth.
Theoretically this can be done with the limit() and skip() functions, but there is nothing to do with arrays. $slice can specify two arguments.
The first parameter indicates the total number of elements to be returned. The second argument is optional. The first argument defines the offset, if used.
and the second parameter is a finite number. The second parameter can also specify a negative number.
The $mod fetch operation.
The $size operator allows filtering the result to match an array of the specified number of elements.
The $exists operator allows to return a specific object. Note: The current version of $exists is not indexable, so using it requires a full table scan.
The $type operator allows to match results based on BSON types.
db.inventory.replaceOne(
{ item: "paper" },
{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
)
db.inventory.replaceOne(
{ item: "paper" },
{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
)
これは、item 属性の後にある、同じ項目値を持つすべてのデータを instock 属性に置き換えます。
関連
-
この操作を行うには、少なくとも1つのSUPER権限が必要です。
-
MySQL - エラーです。executeQuery() でデータ操作ステートメントを発行できません。
-
親行が削除または更新できない: 外部キー制約に失敗 解決策
-
unixODBC:データソース名が見つからない、デフォルトドライバが指定されていないに関する質問
-
ERROR 1046 (3D000)の解決策です。MySQLでアカウント削除時にデータベースが選択されない問題
-
解決方法 テーブルの定義が正しくありません。自動列は1つだけで、キーとして定義する必要があります。
-
SQL SERVER データベース SELECT INTO および INSERT INTO の使用法(テンポラリテーブルへのデータ挿入を含む)
-
ORA-30926: ソース・テーブルの安定した行のセットを取得できませんか?
-
Linuxでmysql-5.7.30をインストールするための詳細な手順
-
mysql: この操作には (少なくとも 1 つの) RELOAD 権限が必要です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MYSQL "Access denied; you need (at least one of) SUPER privilege(s) for this operation" 問題解決
-
IEntityChangeTracker の複数のインスタンスからエンティティオブジェクトを参照できない場合の対処法
-
01. プロシージャの結果セットを持つ一時テーブルへのSELECT INTO
-
Postgresql でテーブル "t" の FROM 句の項目が見つからない。
-
MongoDBコマンド
-
Oracleデータベースの挿入データエラーです。ORA-06550
-
ORA-06550 "の解決策。1 行目、7 列目"
-
DB2 SQL エラーの解決法。sqlcode=-420, sqlstate=22018
-
PDOデータベース接続エラー。SQLSTATE[HY000] [2002] そのようなファイルやディレクトリはありません。
-
AttributeError: 'function' オブジェクトには 'cursor' という属性がありません。