学习mongo系列(十一)关系
准备工作:首先在maxh数据库的address集合中先插入数据
> db.address.insert({child_address:"gansu"})
WriteResult({ "nInserted" : 1 })
> db.address.insert({child_address:"lanzhou"})
WriteResult({ "nInserted" : 1 })
> db.address.find().pretty()
{ "_id" : ObjectId("5695c6395e085ed70afdd224"), "child_address" : "gansu" }
{ "_id" : ObjectId("5695c67b5e085ed70afdd225"), "child_address" : "lanzhou" }
然后将address的"_id"字段更新到user集合的name:"admin"记录中
> db.user.update({name:"admin"},{$set:{address_id:[ObjectId("5695c6395e085ed70af
dd224"),ObjectId("5695c67b5e085ed70afdd225")]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> var result = db.user.find({"name":"admin"},{"address_id":1}).pretty()
> var addresses = db.address.find({"_id":{"$in":result["address_id"]}}).pretty()
> addresses
Error: error: {
"waitedMS" : NumberLong(0),
"ok" : 0,
"errmsg" : "$in needs an array",
"code" : 2
}错误原因:findOne()写成了find()
--------------------------------------------------------------------------------------------------------
> var result = db.user.findOne({"name":"admin"},{"address_id":1}).pretty()
2016-01-13T12:00:23.633+0800 E QUERY [thread1] TypeError: db.user.findOne(...
).pretty is not a function :
@(shell):1:18错误原因:findOne()后边好像不能使用pretty()
--------------------------------------------------------------------------------------------------------
> var result = db.user.findOne({"name":"admin"},{"address_id":1})
> result
{
"_id" : ObjectId("56946fba3a18f4867aecbcd1"),
"address_id" : [
ObjectId("5695c6395e085ed70afdd224"),
ObjectId("5695c67b5e085ed70afdd225")
]
}
> var result = db.user.findOne({"name":"admin"},{"address_id":1})这个1是什么?think,think -1也可以
> var addresses = db.address.find({"_id":{"$in":result["address_id"]}}).pretty()
> addresses
{ "_id" : ObjectId("5695c6395e085ed70afdd224"), "child_address" : "gansu" }
{ "_id" : ObjectId("5695c67b5e085ed70afdd225"), "child_address" : "lanzhou" }
>
> var result = db.user.findOne({"name":"admin"},{"address_id":-1})
> var addresses = db.address.find({"_id":{"$in":result["address_id"]}}).pretty()
> addresses
{ "_id" : ObjectId("5695c6395e085ed70afdd224"), "child_address" : "gansu" }
{ "_id" : ObjectId("5695c67b5e085ed70afdd225"), "child_address" : "lanzhou" }
学习mongo系列(十一)关系的更多相关文章
- 学习mongo系列(八)密码与权限
一.设置密码及用户角色[1] > db.createUser(... {... user: "maxh",... pwd: "123",... roles ...
- 学习mongo系列(六)limit(munber),skip(number)
> db.user.find().pretty(){ "_id" : ObjectId("56946fba3a18f4867aecbcd1"), &quo ...
- 学习mongo系列(一) win/mac安装 解析 连接
一.安装mongo数据库 下载链接https://www.mongodb.org/downloads, 在执行如下命令的时候事先按照目录新建如下的目录:(如果数据库安装在D盘就在D盘的根目录下建)&q ...
- 学习mongo系列(十)MongoDB 备份(mongodump)与恢复(mongorerstore) 监控(mongostat mongotop)
一.备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的数据量级转存的服务器. mongo ...
- 学习mongo系列(九)索引,聚合,复制(副本集),分片
一.索引 二.聚合 三.复制(副本集) 四.分片 尚未实践操作. 详见http://www.runoob.com/mongodb/mongodb-indexing.html
- 学习mongo系列(七)aggregate() ,$group() 管道
aggregate()聚合,主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*) 接上边的数据库: > db.user.aggregate ...
- 学习mongo系列(五) AND,$or,$type
MongoDB OR 条件 MongoDB OR 条件语句使用了关键字 $or,语法格式如下: >db.col.find( { $or: [ {key1: value1}, {key2:valu ...
- 学习mongo系列(四) find().pretty() remove() 查询
一.find() 方法以非结构化的方式来显示所有文档.如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:db.collection_name.find().pretty ...
- 学习mongo系列(三) update() save()
一.update()方法 >db.user.update({"name":"user1"},{$set:{"title":" ...
随机推荐
- AngularJS Best Practices: Directory Structure
app/----- common/ // Acts as reusable components for your app---------- header/--------------- contr ...
- 突破软件试用期的"土方法"
机器上有个试用版的vs2008. 想能正常用,又木有去搜序列号.于是用python纠结了这么一段代码: import time import subprocess import os timeNow ...
- C++之路进阶——bzoj2879(美食节)
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1304 Solved: 702[Submit][Status] ...
- appserv 设置虚拟路径httpd.conf的配置
总结 1 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. #LoadModule vhost_alias_module modules/mod_vhost ...
- 添加office权限时找不到ofice,com组件的方法
1.执行 mmc.exe,文件->添加/删除管理单元->可用的管理单元,中选择组件服务->添加->所选单元格 2. 执行dcomcnfg.exe -32,用于64的操作系统
- 微信、qq信息汇总、回复(一)
想法: 有的人喜欢用qq,有的人喜欢用微信,总而言之,是一个通信工具. qq上有很多群,微信上有很多群,每个群挨个浏览一遍.回复,还容易回复错误,前言不接后语. ...
- [3]R语言在数据处理上的禀赋——par参数详解(一)
本文目录 公共参数列表 par 颜色相关 字体相关 字体大小相关 线条相关 符号相关 线条和符号大小相关 结束 本文首发:program-dog.blogspot.com 注1:本文也曾在csdn发布 ...
- 认真分析mmap:是什么 为什么 怎么用【转】
转自:http://www.cnblogs.com/huxiao-tee/p/4660352.html?utm_source=tuicool&utm_medium=referral 阅读目录 ...
- CentOS7安装Apache2.4+PHP5.6
linux系统CentOS7 先下载Apache需要依赖的软件 1.APR 下载地址http://apr.apache.org/download.cgi wget下载路径http://mirror.b ...
- 安装Ifconfig
1.ifconfig 2.whereis 检查 3.yum search ifconfig 4.分割线下面让我们安装 net-tools.x86_64 执行 yum -y install net-to ...