我的数据对象如:
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default"> << </button>
<button type="button" class="btn btn-default"> < </button>
<button type="button" class="btn btn-default"> > </button>
<button type="button" class="btn btn-default"> >> </button>
</div>
<input type="number" style="width: 30px; " class="form-control input-number" placeholder="84" maxlength="4" value="34" min="0" max="9999" autocomplete="off" pattern="\d4" />
</div>
如果我使用字符串'Mon Sat Sun'搜索,则返回TRUE。 如果我使用字符串'Mon Web Sun'搜索,则返回FALSE。
请帮帮我,或提供关键字。非常感谢!
答案 0 :(得分:1)
您希望$all
基本上是$and
条件,但语法更好:
db.hello.find({ "opening_time": { "$all": [ "Mon", "Sat", "Sun" ] } })
或者在失败的情况下:
db.hello.find({ "opening_time": { "$all": [ "Mon", "Wed", "Sun" ] } })
由于“Wed”不是数组中的值,因此它不匹配。
这是更好的形式:
db.hello.find({ "$and": [
{ "opening_time": "Mon" },
{ "opening_time": "Sat" },
{ "opening_time": "Sun" }
]})
这意味着您需要满足“所有”条件才能使其成为现实。
如果你有一个字符串,那么只需“拆分”它就可以形成数组参数:
var string = "Mon Sat Sun";
db.hello.find({ "opening_time": { "$all": string.split(" ") } })