Nosqlのmongodbデータベース操作+コレクションの挿入および更新操作

mongodb学習ドキュメント:
https://docs.mongoing.com/
1.データベース操作
1.データベースが存在する場合はそれを使用し、存在しない場合は作成します。

use test1;

すべてのデータベースを表示

show dbs;

現在のデータベースを切り替える

use test1;

現在のデータベースを表示

db

現在のデータベース内のすべてのコレクションを表示する

show tables

コレクション内のすべてのデータを表示します(条件をクエリするときに、コレクション内にないフィールドを使用すると、エラーは報告されませんが、結果は報告されません)

db.students.find({})//花括号可加可不加

データベースを削除する

在当前数据库下运行db.dropDatabase()(有表也可以删除,而hive有表的话就不能删除数据库)

コレクションの削除(テーブルにデータがあるかどうかに関係なく、nosqlとhiveを直接削除できます)

db.users.drop();

コレクション内のすべてのドキュメントを削除します

db.inventory.deleteMany({}) 必须带着花括号
update修改已有的文档可以同时新增字段
insert添加新的文档同时可以新增字段

2、挿入操作

insert({})插入空的时候必须带花括号

フォーマット

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

1 ...コレクションを事前に定義する必要はなく、挿入されたデータは自動的に作成され、フィールドの作成は制限されません。同時に、新しいフィールドを自由に追加することも、フィールドの値を挿入しないこともできます。

db.students.insert({
	name:'zb1',
	age:1001,
	hello:1
}
)

2 ...挿入アクションはinsert()関数db.collection_name.insert()を使用し
ます3.時間を挿入し、jsをサポートし、新しいDate()

db.students.insert({
	name:'zb11',
	age:10011,
	hello:11,
	sex:"male",
	addtime:new Date()//系统时间(格林威治时间,晚8小时),服务器时间不可修改,前端时间可以修改
}
)

db.students.find()

4.複数のレコードを挿入するには、配列ドキュメントの[]に注意してください。レコードを挿入する場合でも、insertmany()を使用して[]を使用してください。

db.students.insertMany([{
	name:'zb11',
	age:10011,
	hello:13,
	sex:"male",
	addtime:new Date()//系统时间(格林威治时间),服务器时间不可修改,前端时间可以修改
},
{
  name:'zb11',
	age:10011,
	hello:14,
	sex:"male",
	addtime:new Date()//系统时间(格林威治时间),服务器时间不可修改,前端时间可以修改
}]
)

5.insert = insertmany、1つだけ挿入


3、3.1修飾子を更新:その後に(key:value)

{$set:{
   
   status:'pending'}}
1.$set如果存在这个字段则更新,不存在则创建
2.$currentDate()更新创建时间,不存在则自动创建 修改器:
3.$inc  更新数字字段并加n  ,n必须是整数 ,1是加1,-1是减1

3.2クエリャー:前面がキーで、ルート条件は背面のvlaueです

{age:{$gte:10}}
等于: :/$eq
大于:$gt
大于等于:$gte
小于:$lt
小于等于:$lte
不等于:$ne

フォーマット:

db.collection.updateMany(
   <filter>,相当于sqlwhere
   <update>,相当于sqlset
   {
     upsert: <boolean>,//默认false,ture表示没有这个条文档的话自动创建
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2.1
   }
)

updateMany()、
1。修飾子:設定、フィールド実装の追加と値の割り当て、設定、フィールド実装の追加と値の割り当て、s e t プラスのGeワードセグメント実際の現在および割り当てられたこのフィールドの存在が更新された場合、それが作成SET存在しません。

db.students.updateMany({},{$set:{sex:'male'}})

2.修飾子:$ currentDateは作成時間を更新します。存在しない場合は、自動的に作成されます。

db.students.updateMany({
   
   status:'stop'},{$currentDate:{createtime:true}})

3.update、updateOneは1つだけ更新します

db.students.updateOne({age:11},{$set:{age:10,status:'ok'}})

4.updateMany()更新多条==更新学生set status =“ stop” where status =“ ok”

db.students.updateMany({
   
   status:'ok'},{$set:{
   
   status:'stop'}})

5.replaceOne()、以前に一致したドキュメントを2番目のドキュメントに置き換えます

db.students.replaceOne({
   
   status:'ok'},{
   
   status:'stop',name:"xiao qi" ,age:10,num:1})

6. {upsert:true}の前にこのドキュメントを照合できない場合、新しいドキュメントが自動的に作成されます

db.students.replaceOne({
   
   status:'o'},{
   
   status:'stop',name:"xiao qi" ,age:10,num:1},{upsert:true})

7.20歳以上のすべての学生のステータスが保留に変更されます

db.students.updateMany(
{age:{$gte:10}},{$set:{
   
   status:'pending'}}
)

8. 10歳以上の学生の年齢を+1に変更し、変更時間を記録します。修飾子$ incを使用して数値フィールドを更新し、nを追加します。

db.students.updateMany(
{age:11},{$inc:{age:1},$currentDate:{createtime:true}}
)

9. Xiao Ming(aihao)のフィールドホビーを追加します

db.students.updateMany(
{
	stuname:"小明"
},
{
	$set:{aihao:"足球,篮球,乒乓球"}
}
)

おすすめ

転載: blog.csdn.net/weixin_44703894/article/details/114905533