提要:本章强化document概念及基础CURD
文档 document
MongoDB以BSON文档的形式存储数据记录,BSON是JSON的二进制表现形式,但是BSON支持的数据类型要多于JSON。
文档结构:
{
field1: value1,
field2: value2,
field3: value3,
...
fieldN: valueN
}
文档以 field-value对的形式组成,value可以是任何BSON支持的数据类型。可以是对象也可以是数组或者包含对象的数组,这种在Mongo中成为嵌入文档。如下
{
_id: ObjectId("5099803df3f4948bd2f98391"),
name: { first: "Alan", last: "Turing" },
birth: ISODate("2018-05-11T05:58:51.122Z"),
death: ISODate("2022-05-11T05:58:51.122Z"),
contribs: [ "Turing machine", "Turing test", "Turingery" ],
views : 1250000
}
字段名限制
文档限制
CURD操作
创建文档:
//单条插入语法
db.collection.insertOne(
, //文档Bson
{ //可选参数
writeConcern:
}
)
//示例 商品products 集合中插入一条文档
db.products.insertOne(
{ item: "card", qty: 15 }
);
//返回结果
{
"acknowledged" : true,
"insertedId" : ObjectId("56fc40f9d735c28df206d078") //插入文档未指定_id是系统自己生成唯一id并返回,建议使用系统生成的id
}
//多条插入语法
db.collection.insertMany(
[ , , ... ], //此参数为要插入的文档数组
{ //可选参数
writeConcern: ,
ordered:
}
)
//示例
db.products.insertMany( [
{ item: "card", qty: 15 },
{ item: "envelope", qty: 20 },
{ item: "stamps" , qty: 30 }
] );
//返回结果
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("562a94d381cb9f1cd6eb0e1a"),
ObjectId("562a94d381cb9f1cd6eb0e1b"),
ObjectId("562a94d381cb9f1cd6eb0e1c")
]
}
查询文档
//查询文档
db.collection.find(query, projection) // query 参数为查询条件 projection 可选参数,为指定返回结果包括哪些字段
//示例 查询商品集合中 item 是card的记录
db.products.find( { item: "card", } )
//返回结果
{
item: "card",
qty: 15
}
note:下章节详细讲解各种查询的写法和操作符的使用。
修改文档
//语法
db.collection.updateOne(
, //查询条件,写法与查询中的条件一直
, //要修改得字段
{ //可选参数
upsert: ,
writeConcern: ,
collation: ,
arrayFilters: [ , ... ],
hint:
}
//示例 将item是crad 的qty字段改为3 $set为操作符
db.products.updateOne(
{ "item" : "card" },
{ $set: { "qty" : 3 } }
);
删除文档
//语法
db.collection.deleteOne(
, //删除指定条件的文档
{//可选参数
writeConcern: ,
collation: ,
hint: // Available starting in MongoDB 4.4
}
)
//示例 删除指定id的数据
db.products.deleteOne( { "_id" : ObjectId("562a94d381cb9f1cd6eb0e1a") } );
接下来的章节会详细讲解各种情况的查询和修改使用案例,力求最全。
留言与评论(共有 0 条评论) “” |