это мой второй день с монго. Я работаю с django + mongoengine. структура моей статьи документа, как это:Как установить значение ReferenceField для mongoengine в оболочке mongodb?
class Article(Document):
title = StringField(required=True)
content = StringField(required=True)
comments = ListField(ReferenceField(Comment))
author = ReferenceField(MUser, required=False)
я могу установить значение автора из Джанго оболочки, но я не могу найти способ, чтобы установить это значение поля автора (который будет объектом Muser). Я попытался это:
db.article.update({
'title' : 'asdasdasdasd'
}, {
$set : {
'author' : db.m_user.find({
'email' : '[email protected]'
})
}
})
но это делает что-то, что я не получаю, когда я делаю db.article.find()
я получаю этот результат:
{
"_id" : ObjectId("57153cc2aec9680bc327bedb"),
"title" : "asdasdasdasd",
"content" : "",
"author" : {
"_mongo" : {
"slaveOk" : false,
"host" : "127.0.0.1",
"defaultDB" : "",
"promptPrefix" : "",
"authStatus" : {
"authRequired" : true,
"replSetGetStatus" : false,
"isMaster" : true
},
"_readMode" : "commands",
"_writeMode" : "commands"
},
"_db" : {
"_mongo" : {
"slaveOk" : false,
"host" : "127.0.0.1",
"defaultDB" : "",
"promptPrefix" : "",
"authStatus" : {
"authRequired" : true,
"replSetGetStatus" : false,
"isMaster" : true
},
"_readMode" : "commands",
"_writeMode" : "commands"
},
"_name" : "mblog"
},
"_collection" : {
"_mongo" : {
"slaveOk" : false,
"host" : "127.0.0.1",
"defaultDB" : "",
"promptPrefix" : "",
"authStatus" : {
"authRequired" : true,
"replSetGetStatus" : false,
"isMaster" : true
},
"_readMode" : "commands",
"_writeMode" : "commands"
},
"_db" : {
"_mongo" : {
"slaveOk" : false,
"host" : "127.0.0.1",
"defaultDB" : "",
"promptPrefix" : "",
"authStatus" : {
"authRequired" : true,
"replSetGetStatus" : false,
"isMaster" : true
},
"_readMode" : "commands",
"_writeMode" : "commands"
},
"_name" : "mblog"
},
"_shortName" : "m_user",
"_fullName" : "mblog.m_user"
},
"_ns" : "mblog.m_user",
"_query" : {
"email" : "[email protected]"
},
"_fields" : null,
"_limit" : 0,
"_skip" : 0,
"_batchSize" : 0,
"_options" : 0,
"_cursor" : null,
"_numReturned" : 0,
"_special" : false
}
}
мне удалось установить подобную ситуацию с Джанго оболочки, и что запись показывает, что такое автор.
{
"_id" : ObjectId("57153ae9aec9680a8ae8f5a6"),
"title" : "sdd",
"content" : "eer",
"author" : ObjectId("576fff2daec96854d8bff581"),
"comments" : [ObjectId("5770282faec968640568f4ce")]
}
Как достичь этого. Спасибо
Спасибо, что работает. :) –