用图书的示例来说明一下mongodb命令的使用。 添加 插入一个图书文档: db.books.insert({name:深入学习MongoDB}); 然后,可以看一下是否插入成功了: db.books.find(); 打印的结果类似这样: { _id : ObjectId(4f8e8a8e7a919fd8a1a37e2d), name : 深入学习Mo
用图书的示例来说明一下mongodb命令的使用。
添加
插入一个图书文档:
db.books.insert({name:’深入学习MongoDB’});
然后,可以看一下是否插入成功了:
db.books.find();
打印的结果类似这样:
{ “_id” : ObjectId(“4f8e8a8e7a919fd8a1a37e2d”), “name” : “深入学习MongoDB” }
好了,现在不想要这条记录了,删除掉:
db.books.remove();
再次使用find(),就不会打印内容了。这里要注意,remove()将删除集合中所有文档。如何删除指定条件的文档,后面再说。
修改
再次创建一个图书文档:
db.books.insert({name:’钱的历史’,items:[]});
这里我增加了一个空数组,后面有用。
现在我要将图书名称(name)改为:深入学习MongoDB。
命令:
db.books.update({_id:ObjectId(“4f8e8a8e7a919fd8a1a37e2d”)},{name:’深入学习MongoDB’},false);
上述命令的缺点是,items属性没有了。如果只想修改图书的名称,而不影响文档的其他属性,可以这样:
db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″)},{$set:{name:’Deep in MongoDB’}},false);
现在,我想往空数组里添加一些东西,比如,一个条目:
{_id:ObjectId, type:’chapter’,items:[]}
那么,命令如下:
?db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);
看一下显示的结果:
{
“_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
“items” : [
{
"_id" : ObjectId("4f8eaf227a919fd8a1a37e2e"),
"type" : "chapter",
"items" : [ ]
}
],
“name” : “野外维生食物”
}
现在我们想在4f8eaf227a919fd8a1a37e2e的条目的数组中加入内容,怎么做呢?要用到push,它可以向指定的数组追加元素:
db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);
现在我又发现追加的元素的type值错了,想改成section:
db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$set:{‘items.$.type’:'section’}},false);
我是否能在items的元素的items数组中再追加元素呢?答案是肯定的:
db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$push:{‘items.$.items’:{_id:new ObjectId(),type:’section’,items:[]}}},false);
追加后的结果类似这样:
{
“_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
“items” : [
{
"_id" : ObjectId("4f8ef10b7a919fd8a1a37e32"),
"items" : [
{
"_id" : ObjectId("4f8ef4d17a919fd8a1a37e33"),
"type" : "section",
"items" : [ ]
}
],
“type” : “chapter”
}
]
}
删除
如果文档添加了不该有的属性,想删除,比如:
db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$push:{hello:’test1′}},false);
为文档增加了一个没用的属性,he l lo,这是个数组。
删除它:
db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$unset:{hello:1}},false);
原文地址:MongoDB命令使用示例, 感谢原作者分享。

掌握添加MySQL用户的方法对于数据库管理员和开发者至关重要,因为它确保数据库的安全性和访问控制。1)使用CREATEUSER命令创建新用户,2)通过GRANT命令分配权限,3)使用FLUSHPRIVILEGES确保权限生效,4)定期审计和清理用户账户以维护性能和安全。

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

在MySQL中处理字符串数据类型和索引的最佳实践包括:1)选择合适的字符串类型,如CHAR用于固定长度,VARCHAR用于可变长度,TEXT用于大文本;2)谨慎索引,避免过度索引,针对常用查询创建索引;3)使用前缀索引和全文索引优化长字符串搜索;4)定期监控和优化索引,保持索引小巧高效。通过这些方法,可以在读取和写入性能之间取得平衡,提升数据库效率。

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

mysqloffersvariouscharactersetsforstringdatatypes:1)latin1 forwesterneuropeanlanguages,2)utf8 formultingualsupport,3)utf8mb4f OREXTEDENDENDENENICODECLUDINGEMOJIS,4)UCS2FORIXED-WIDTHENCODING,5)assiiforbasiclatin.ChoosideStherightStetSetensensersdaintegrity

流式传输BLOB确实比直接存储更好,因为它能减少内存使用和提高性能。1)通过逐步读取和处理文件,避免了数据库膨胀和性能下降。2)流式传输需要更复杂的代码逻辑,且可能增加I/O操作次数。

mySqlStringTypesimpactStorageAndPerformanCeaseAsfollows:1)长度,始终使用theSamestoragespace,whatcanbefasterbutlessspace-felfficity.2)varCharisvariable varcharisvariable length,morespace-morespace-morespace-effficitybuteftife buteftife butfority butfority textifforlyslower.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境