mongodb实现关系型数据库中查询某一列的效果

WBOY
リリース: 2016-06-07 15:58:57
オリジナル
1409 人が閲覧しました

最近在tornado\mongodb\ansible mongodb中有个find()方法很牛逼,可以将集合中所有的表都传出来,一开始我这么写 class Module_actionHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs): coll = self.application.db.waitfish hosts = col

最近在tornado\mongodb\ansible

mongodb中有个find()方法很牛逼,可以将集合中所有的表都传出来,一开始我这么写

class Module_actionHandler(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        coll = self.application.db.waitfish
        hosts = coll.find({}, {'hostname':1,"_id":0})
        modulenames = ['ping', 'setup', 'copy']
        self.render(
            "module_action.html",
            hosts = hosts,
            modulenames = modulenames,
        )
ログイン後にコピー
然后在模板中:
<select name="hostname">
                {% for host in hosts %}
                <option name="{{ host[&#39;hostname&#39;] }}" >{{ host[&#39;hostname&#39;] }}</option>
                {% end %}
</select>
ログイン後にコピー
后来想了想find()方法是找出所有的表,这太伤不起了..

于是又去看了度娘,基本上都是列出一大堆查询命令,好多中方法的.

最后我还是选了这一种:

class Module_actionHandler(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        coll = self.application.db.waitfish
        hosts = coll.find({}, {&#39;hostname&#39;:1,"_id":0})#解释一下,这里hostname:1 表示返回hostname列,由于_id列每次都返回所以用0禁用掉,模板还一样
        modulenames = [&#39;ping&#39;, &#39;setup&#39;, &#39;copy&#39;]
        self.render(
            "module_action.html",
            hosts = hosts,
            modulenames = modulenames,
        )
ログイン後にコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート