zoukankan      html  css  js  c++  java
  • 学习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" }

  • 相关阅读:
    [SAM4N学习笔记]UART的使用
    [SAN4N学习笔记]使用SysTick精准延时
    [SAM4N学习笔记]LED点灯程序
    [SAM4N学习笔记]SAM4N工程模板搭建
    C#用大石头Xcode做数据底层注意事项
    C#MVC中@HTML中的方法
    js比较时间大小(时间为以-分割的字符串时)
    C#后台Post提交XML 及接收该XML的方法
    jq对象和DOM对象的互换
    获取和设置HTML标签中的数据
  • 原文地址:https://www.cnblogs.com/mxh1099/p/5126851.html
Copyright © 2011-2022 走看看