7
MongoクラスのListField()
属性が設定されていないか、空であるかどうかを確認するにはどうすればよいですか?MongoEngine - クエリ - ListFieldが空であるかどうかを確認する方法
ありがとうございます!これがあれば、あなたが ListFieldをを設定していない空かによって何を意味するか
MongoクラスのListField()
属性が設定されていないか、空であるかどうかを確認するにはどうすればよいですか?MongoEngine - クエリ - ListFieldが空であるかどうかを確認する方法
ありがとうございます!これがあれば、あなたが ListFieldをを設定していない空かによって何を意味するか
こんにちはあなたは$existsを使用することができますし、 $size:
import unittest
from mongoengine import *
class Test(unittest.TestCase):
def setUp(self):
conn = connect(db='mongoenginetest')
def test_list_exists_or_has_size(self):
class Post(Document):
title = StringField(required=True)
tags = ListField(StringField())
Post.drop_collection()
Post(title="Hello Stackoverflow").save()
Post(title="Hello twitter", tags=[]).save()
Post(title="Hello world", tags=['post', 'blog']).save()
self.assertEqual(2, Post.objects(
Q(tags__exists=False) |
Q(tags__size=0)).count())
わから全くわからないこの:
from mongoengine import *
connect('tumblelog')
class Post(Document):
title = StringField(required=True)
tags = ListField(StringField())
post1 = Post(title='Fun with MongoEngine', tags=['mongodb', 'mongoengine'])
post1.save()
for post in Post.objects:
print post.title
if not post.tags:
print '-post has no tags'
else:
print post.tags
この意志出力:
はFun with MongoEngine
[u'mongodb', u'mongoengine']
Fun with MongoEngine no tags
-post has no tags
いいですね!しかし、それは "存在"ではなく、最終的なクエリに "存在"していませんか?私は6文字以下の変更を許可されていません... – Ron