首页 > 技术文章 > MongoDB的基础用法

wangshx666 2020-04-28 11:27 原文


# 插入文档: insert(document) #document为key-value格式的数据
'''
db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
'''

# 更新文档 update()
db.collection.update(
   <query>,  # 查询的条件
   <update>, # 更新的内容
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
'''
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
'''
''' 例如:通过update更新标题(title)
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
'''

# 查询文档 find()、 findone()
db.collection.find(query)
'''db.col.find({key1:value1, key2:value2})''' # AND语句
'''db.col.find({ $or: [{key1:value1},{key2:value2}] })''' # OR语句

# 删除文档 remove()
db.collection.remove(
   <query>, # (可选)删除的文档的条件
   {
     justOne: <boolean>,     # (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
     writeConcern: <document # (可选)抛出异常的级别
   }
)

# 排序 sort()
db.COLLECTION_NAME.find().sort({KEY:1}) # 1为升序,-1为降序
'''db.col.find({},{"title":1,_id:0}).sort({"likes":-1})'''

# 正则表达式 $regex
'''db.posts.find({text:{$regex:"runoob"}})'''
、、、

推荐阅读