ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【MongoDB】一文带你快速把握MongoDB文档插入和查询 [打印本页]

作者: 小秦哥    时间: 2024-6-10 10:17
标题: 【MongoDB】一文带你快速把握MongoDB文档插入和查询

前言

为了巩固所学的知识,作者实行着开始发布一些学习笔记类的博客,方便日后回首。固然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,接待读者朋友们品评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问接待大家在评论区向我提出)
   文档(document)的数据布局和 JSON 基本一样,所有存储在聚集中的数据都是 BSON 格式
  发现宝藏

前些天发现了一个巨牛的人工智能学习网站,普通易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。
一、单个文档插入

1. 语法格式

利用insert() 或 save() 方法向聚集中插入文档,语法如下:
  1. db.collection.insert(
  2.     <document or array of documents>,
  3.     {
  4.         writeConcern: <document>,
  5.         ordered: <boolean>
  6.     }
  7. )
复制代码
2. 参数

ParameterTypeDescriptiondocumentdocument or array要插入到聚集中的文档或文档数组((json格式)writeConcerndocumentOptional. A document expressing the write concern. Omit to use the default write concern.See Write Concern.Do not explicitly set the write concern for the operation if run in atransaction. To use write concern with transactions, see Transactions and Write Concern.orderedboolean可选。如果为真,则按顺序插入数组中的文档,如果其中一个文档出现错误,MongoDB将返回而不处理数组中的其余文档。如果为假,则执行无序插入,如果其中一个文档出现错误,则继续处理数组中的主文档。在版本2.6+中默认为true 3. 示例

要向comment的聚集(表)中插入一条测试数据:
  1. db.comment.insert({"articleid":"100000","content":"今天天气真好,阳光明媚","userid":"1001","nickname":"Rose","createdatetime":new Date(),"likenum":NumberInt(10),"state":null})
复制代码
5. 提示


   WriteResult({ “nInserted” : 1 })
  

二、批量文档插入

1. 语法格式

  1. db.collection.insertMany(
  2.     [ <document 1> , <document 2>, ... ],
  3.     {
  4.         writeConcern: <document>,
  5.         ordered: <boolean>
  6.     }
  7. )
复制代码
2. 参数

ParameterTypeDescriptiondocumentdocument要插入到聚集中的文档或文档数组((json格式)writeConcerndocumentOptional. A document expressing the write concern. Omit to use the default writeconcern.Do not explicitly set the write concern for the operation if run in a transaction. Touse write concern with transactions, see Transactions and Write Concern.orderedboolean可选,一个布尔值,指定Mongod实例应执行有序插入还是无序插入。默认为true。 3. 示例

批量插入多条文章评论:
  1. db.comment.insertMany([
  2.     {"_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我
  3. 他。","userid":"1002","nickname":"相忘于江湖","createdatetime":new Date("2019-08-
  4. 05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1"},
  5.     {"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1005","nickname":"伊人憔
  6. 悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"},
  7.     {"_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都喝。","userid":"1004","nickname":"杰克船
  8. 长","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"},
  9.     {"_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健康。","userid":"1003","nickname":"凯
  10. 撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"},
  11.     {"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫
  12. 嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-
  13. 06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
  14. ]);
复制代码

4. 提示


  1. try {
  2.   ...//插入语句
  3. } catch (e) {
  4.     print (e);
  5. }
复制代码
三、文档的基本查询

1. 语法格式

查询数据的语法格式如下
   db.collection.find(<query>, [projection])
  2. 参数

ParameterTypeDescriptionquerydocument可选,利用查询运算符指定选择筛选器。若要返回聚集中的所有文档,请省略此参数或传递空文档( {} )projectiondocument可选,指定要在与查询筛选器匹配的文档中返回的字段(投影)。若要返回匹配文档中的所有字段,请省略此参数 3. 示例


如果我们要查询spit聚集的所有文档,我们输入以下命令
   db.comment.find()

db.comment.find({})
  

4. 提示


   db.comment.find({userid:‘1003’})
  


   db.comment.findOne({userid:‘1003’})
  

4. 投影查询


   db.comment.find({userid:“1003”},{userid:1,nickname:1,_id:0})
  


   db.comment.find({userid:“1003”},{userid:1,nickname:1,_id:0})
  



总结

接待各位留言交流以及品评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问接待大家在评论区向我提出)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4